use*_*546 14 python django django-testing
我正在使用Django 1.8,文档说--keepdb用于保存测试数据库.
我这样做,数据库就在那里,但每次我看到它,它都是空的,没有数据.
有什么方法可以保存,以便我可以看到那里有什么?
Tha*_*all 16
您的所有代码都在数据库事务中运行,并在每次测试结束时回滚.
这是一个来自django.test.TestCase的子类的示例,它是unittest.TestCase的子类,它在事务中运行每个测试以提供隔离:
这种"隔离"指的是什么,你做内下一个测试开始前的测试将被回滚.
相反,您想要使用Python的类unittest.TestCase.
Django文档的另一个引用:
使用unittest.TestCase可以避免在事务中运行每个测试并刷新数据库的成本,但如果测试与数据库交互,则它们的行为将根据测试运行器执行它们的顺序而有所不同.这可能导致单独测试在隔离运行时通过,但在套件中运行时会失败.
只要您可以保证您的测试不会破坏彼此的数据,您就可以安全地使用此类而不是Django的测试用例.