1-Django - Django中如何使用单元测试

about

python3.6.8 + django2.2

什么是单元测试?
来自百度百科:单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。

Djando中如何进行单元测试
看下面示例......

示例

应用名是app01
app01/models.py

from django.db import models

class Publisher(models.Model):
    pub_name = models.CharField(max_length=64, default='机械工业出版社')

    def __str__(self):
        return self.pub_name

你必须执行了数据库迁移的命令。
接下来看单元测试怎么编写?
app01/tests.py

from django.test import TestCase
from app01.models import Publisher


# Create your tests here.


class MyTestCase(TestCase):

    def setUp(self):
        Publisher.objects.create(pub_name='郑州大学出版社')

    def test_case_01(self):
        pub_obj = Publisher.objects.get(pub_name='郑州大学出版社')
        self.assertEqual(pub_obj.pub_name, '郑州大学出版社')

    def test_case_02(self):
        pub_obj = Publisher.objects.get(pub_name='郑州大学出版社')
        self.assertEqual(pub_obj.pub_name, '开封师范出版社')

上面两个用例就是测试创建的一条记录是否成功。
你可以这样执行测试用例。
在项目的根目录下终端执行:

python manage.py test                                     # 执行所有的测试用例
python manage.py test app_name                            # 执行该app的所有测试用例
python manage.py test app_name.case_name                  # 执行指定的测试用例
python manage.py test--pattern="tests_*.py"               # 通配测试文件名

执行结果如下:


that's all
posted @ 2020-12-22 13:49  听雨危楼  阅读(430)  评论(0编辑  收藏  举报