【问题标题】:Django App Tests Won't Run Specifically (But Will Run With All Tests)Django 应用程序测试不会专门运行(但会与所有测试一起运行)
【发布时间】:2012-02-25 13:47:07
【问题描述】:

我有一个名为“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 次测试

如果我的应用程序名称有误或者它会给我一个错误,但它清楚地识别应用程序......它只是无法找到它的测试(即使它们位于“测试”文件夹中该应用程序文件夹中的__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 错误。希望这对某人意味着什么...

【问题讨论】:

  • 你试过运行python manage.py test foo.bar.fstore吗?
  • 是的;我得到“django.core.exceptions.ImproperlyConfigured: 找不到标签为 foo 的应用程序:-(
  • 认为这是相关的,但我不确定:当我尝试使用 South 为同一个“fstore”应用程序生成迁移时(使用 schemamigration -auto ),它告诉我应用程序没有现有的迁移......即使应用程序文件夹内的迁移文件夹内有三个迁移。我发誓,这就像 Django 认为没有“fstore”应用程序,即使有。

标签: python django testing


【解决方案1】:

哇,这太可怕了。所以我我一直在编辑 Django 核心文件,因为有一个文件 (models/loading.py) 已被修改为具有该 foo.bar.search 应用程序-编码到它。我没有编辑此文件的任何 bash 历史记录,也没有 Eclipse 历史记录,而且我没有理由编辑该文件,但是......因为没有其他人可以做到,我想我必须有(否则有一个非常奇怪的 django 错误导致它编辑源代码)。

我想我会在这里留下这个问题/答案,因为其他人做了类似的事情,这对他们有帮助,但这是一个如此奇怪的事件,我怀疑它会发生。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-03
    • 2015-02-19
    • 1970-01-01
    • 2012-10-13
    • 2012-06-19
    相关资源
    最近更新 更多