我想定义仅在我的测试套件中使用的模型。如果不在生产中创建它,那就太好了。是否有任何变量我可以再次测试以检查我是否处于测试模式?
答案 0 :(得分:0)
如果您使用Django testing framework(python manage.py test
)运行测试,那么它将在完全不同的数据库中自动为您的模型创建所有表,然后从您的应用程序中填充这些表在运行测试之前的灯具。测试完成后,数据库将被删除。 (如果您的生产数据库名为foo
,则测试数据库将被命名为foo_test
,除非您specify differently。)
如果您拥有仅需要测试的模型,那么您所要做的就是将测试模型放在与测试代码相同的目录结构中,而不是与生产模型混合。这将确保它们不会无意中混入您的生产数据库。
答案 1 :(得分:0)
如果您使用最新版本的Django(我可以确认版本从1.4到1.6),并使用django.test,您可以将所有测试模型定义放在tests/__init__.py
中。这样,您将在单元测试中使用测试模型,而不会污染生产数据库。