现在,我的Django单元测试位于mcif/tests.py。我希望有更多类似mcif/tests/foo_test.py,mcif/tests/bar_test.py等等的东西,但是如果我以这种方式组织测试,Django就会倒闭。
mcif/tests.py
mcif/tests/foo_test.py,mcif/tests/bar_test.py
有没有办法做我想做的事情,还是必须将所有测试都放在一个文件中?
从Django的1.6版开始,测试发现机制发生了变化。你不再需要从中导入所有内容tests/__init__.py,但是现在你必须确保所有包含测试的文件都与该模式匹配test*.py。
tests/__init__.py
test*.py
因此,而不是有app/tests/models.py和app/tests/views.py,现在你应该有app/tests/test_models.py和app/tests/test_views.py。
app/tests/models.py
app/tests/views.py
app/tests/test_models.py
app/tests/test_views.py
你还可以创建一个名为的文件,app/tests/test.py并从那里包含其他文件。问题是,运行程序将查找与模式匹配的文件test*.py并执行它们。
app/tests/test.py