我有一个名为“fstore”的Django应用程序。它在INSTALLED_APPS中注册为“foo.bar.fstore”。当我通过“manage.py test”运行我的所有django测试时,我会看到测试结果,例如:
失败:testFilesWithDuplicatePathsDoNotOverwriteEachOther (foo.bar.fstore.tests.fileRecTests.TestFunctionality)
然而,当我尝试专门为这个应用程序运行测试时,通过“manage.py test fstore”,Django告诉我:
在0.000秒内进行0次测试
如果我的应用程序名称错误或它会给我一个错误,但它清楚地识别应用程序...它只是无法找到它的测试(即使它们在“test”文件夹中应用程序文件夹中的__init__.py
。所以我的基本问题是:给出了什么?或者更具体地说,如何在不运行所有休止符的情况下从这个应用程序中运行测试?
哦,只是为了排除简单的答案,是的,这个应用程序同时包含models.py
和__init__.py
。
*编辑*
我刚刚运行了“manage.py shell”,结果发现有些东西可疑:
from django.db.models import get_app, get_apps
get_app("fstore")
<module 'foo.bar.search.models' from '/baz/python/foo/bar/search/models.pyc'>
当然,这是完全错误的模型的编译形式(不知道是怎么发生的)。所以我删除了.pyc文件,现在我得到一个更正常的错误:
django.core.exceptions.ImproperlyConfigured:带有标签fstore的应用程序 无法找到
这是进步......但它仍然无法解释为什么Django找不到我的应用程序。
还有一点需要注意:尽管Django工作正常(我可以“manage.py runserver”,浏览我的应用程序等),但在命令行中我显然根本没有应用程序。例如,尝试运行“manage.py test debug_toolbar”会给我一个类似的ImproperlyConfigured错误。希望这对某人意味着什么......
答案 0 :(得分:1)
我想我会在这里提出一个关于其他人做类似事情的怪异机会的问题/答案,这对他们有所帮助,但这是一个如此奇怪的事情,我怀疑它会。