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
添加到那些测试文件夹
我 运行 遇到 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
添加到那些测试文件夹