Django单元测试的注意事项:
1、对于每一个测试方法都会将setUp()和tearDown()方法执行一遍
2、每一个测试(Clas下的每个测试方法))会单独新建一个测试数据库来进行数据库的操作方面的测试,默认在测试完成后销毁。
3、在测试方法中对数据库进行增删操作,最后都会被清除。如果migrations文件过多,则会耗费大量时间
具体的测试方法:
# 测试整个工程
python manage.py test
# 只测试某个子项目
python manage.py test appname
# 只测试某个子项目下的class
python manage.py test appname.tests.TestClass
# 只测试某个具体方法
python manage.py test appname.tests.TestClass.test_function
遇到的问题:
前文注意事项中的第三点提到,测试数据的问题。为了减少创建和删除数据库的时间,需要在命令中加入: --keepdb 以保留每次的测试的数据库。虽然保留了数据库,但是测试中产生的数据,还是会在测试结束时,销毁的。
要是想要在测试时,数据库中就有数据,可以参考我的文档:Django单元测试中Fixtures用法
原文链接:https://www.cnblogs.com/luminousjj/p/8442265.html