优秀的编程知识分享平台

网站首页 > 技术文章 正文

python Django单元测试TestCase,一分钟快速使用

nanyue 2024-07-20 23:46:20 技术文章 12 ℃

关于django的单元测试,需要知道的是

  1. 对于每一个测试方法都会将setUp()和tearDown()方法执行一遍
  2. 会单独新建一个测试数据库来进行数据库的操作方面的测试,默认在测试完成后销毁。
  3. 在测试方法中对数据库进行增删操作,最后都会被清除。也就是说,在test_add中插入的数据,在test_add测试结束后插入的数据会被清除。
  4. django单元测试时为了模拟生产环境,会修改settings中的变量,例如, 把DEBUG变量修改为True, 把ALLOWED_HOSTS修改为[*]。

测试全部用例

python manage.py test --setting settings_test

测试某个APP

python manage.py test appname --setting settings_test

测试某个app下的TeseCase类

python manage.py test alarm.tests.ModelTestCase --setting settings_test

-v {1,2,3} 数字越大,显示的输出越详细,测试的日志信息

python manage.py test --setting settings_test -v3

其他的选项请查看 --help

python manage.py test --help

2.Django单元测试框架结构分析

Django单元测试框架默认使用python的标准库unittest编写测试用例。单元测试框架提供:用例编写规范、专业的比较方法(断言assert)以及丰富的测试日志。

框架调用:from django.test import TestCase

测试用例编写:setUp()、assertEqual()、test_function_name()

unittest提供的断言种类挺多,但是经常用的也就几个 self.assertContains, self.assertEqual, self.assertTrue,self.assertRegexpMatches 正则匹配 assertIn

注:Django在执行setUp()部分操作时,并不会真正向数据库表中插入数据。所以不用关心testDown()清理工作。

2.Django单元测试框架结构分析

Django单元测试框架默认使用python的标准库unittest编写测试用例。单元测试框架提供:用例编写规范、专业的比较方法(断言assert)以及丰富的测试日志。

框架调用:from django.test import TestCase

测试用例编写:setUp()、assertEqual()、test_function_name()

unittest提供的断言种类挺多,但是经常用的也就几个 self.assertContains, self.assertEqual, self.assertTrue,self.assertRegexpMatches 正则匹配 assertIn

注:Django在执行setUp()部分操作时,并不会真正向数据库表中插入数据。所以不用关心testDown()清理工作。

最近发表
标签列表