Django 测试运行程序找不到测试



我遇到了 Django (1.10.6) 测试运行器无法找到我的测试的问题。我正在使用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

其他几个地方可以查看:

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

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

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

相关内容

  • 没有找到相关文章

最新更新