Django Test Runner 找不到测试

Django Test Runner can't find tests

我 运行 遇到 Django (1.10.6) Test Runner 无法找到我的测试的问题。我正在使用 Python 3.6。

以下作品:

python manage.py test apps.foo

但这不是:

python manage.py test

我的项目结构如下:

apps/
  foo/
    migrations/
    __init__.py
    admin.py
    apps.py
    models.py
    tests.py
    urls.py
    views.py
manage.py

tests.py 看起来像这样:

from django.test import TestCase


class ConfirmationTests(TestCase):
    def setUp(self):
        pass

    def test_email_confirm(self):
        pass

在我的 settings.py:

INSTALLED_APPS = (
  ...
  'apps.foo',
)

测试运行器无法接收我的测试有什么原因吗?

我发现了问题。正如所怀疑的那样,这是愚蠢的。

我的 apps 目录中缺少一个 __init__.py

apps/
  foo/
    migrations/
    __init__.py
    admin.py
    apps.py
    models.py
    tests.py
    urls.py
    views.py
  __init__.py <-- the offender
manage.py

仅作记录:我有同样的症状,因为项目目录中有一个 extra __init__.py 文件(包含 manage.py)

找到了要测试的应用程序,但随后我收到了一个错误 .无法导入。

其他几个要看的地方:

  • 测试文件名应以 test
  • 开头
  • 测试中的方法应以 test
  • 开头
  • 如果您使用的是 tests 目录,请务必将 __init__.py 添加到那些测试文件夹