Django测试完成后如何保存测试数据?

use*_*546 14 python django django-testing

我正在使用Django 1.8,文档--keepdb用于保存测试数据库.

我这样做,数据库就在那里,但每次我看到它,它都是空的,没有数据.

有什么方法可以保存,以便我可以看到那里有什么?

Tha*_*all 16

您的所有代码都在数据库事务中运行,并在每次测试结束时回滚.

Django测试文档:

这是一个来自django.test.TestCase的子类的示例,它是unittest.TestCase的子类,它在事务中运行每个测试以提供隔离:

这种"隔离"指的是什么,你做下一个测试开始前的测试将被回滚.

相反,您想要使用Python的类unittest.TestCase.

Django文档的另一个引用:

使用unittest.TestCase可以避免在事务中运行每个测试并刷新数据库的成本,但如果测试与数据库交互,则它们的行为将根据测试运行器执行它们的顺序而有所不同.这可能导致单独测试在隔离运行时通过,但在套件中运行时会失败.

只要您可以保证您的测试不会破坏彼此的数据,您就可以安全地使用此类而不是Django的测试用例.