gpt4 book ai didi

python - Django 1.6+ 测试未发现位于测试子目录中的单元测试

转载 作者:行者123 更新时间:2023-11-28 17:40:40 24 4
gpt4 key购买 nike

所以我查看了不少于 10 个不同的 Stack Overflow 问题,这些问题与 Django 没有找到单元测试有关,但每个问题都没有解决我的问题。

我正在运行 Django 1.65 并试图让 Django 发现我的测试。

这是我的目录结构

project
__init__.py
my_app
__init__.py
tests
__init__.py
test_template_tags.py
my_app2
__init__.py
tests
__init__.py
test_something_else.py

我在项目目录中的命令行中尝试的命令是:python manage.py 测试 my_app

test_template_tags.py 中的代码是:

from django.test import TestCase

class MyTestClass(TestCase):

def setUp(self):
pass

def tearDown(self):
pass

def test_something(self):
self.assertTrue(True)

根据另一个 SO 中的提示,此命令 find my_app -name 'test*.py' 已执行并按预期显示所有测试文件。

当我在项目目录中打开 django shell 并尝试导入测试类时,一切都按预期进行。

从 my_app.tests.test_template_tags 导入 MyTestClass

最后,我将测试代码复制并粘贴到 app 目录中的 tests.py 文件中,当然,它有效,但这不是我正在寻找的解决方案。

还有其他一些明显的小东西我在这里遗漏了吗?我的所有__init__.py文件都按顺序排列,所有测试文件前面都有test_,my_app包含在settings的INSTALLED_APPLICATIONS中.

最佳答案

在您的 __init__.py 中,您需要导入 该目录中的其他测试模块,以便测试运行器发现它们。如果您的结构如下所示:

project
__init__.py
my_app
__init__.py
tests
__init__.py
test_template_tags.py
my_app2
__init__.py
tests
__init__.py
test_something_else.py

然后 my_app.tests.__init__.py 将包含:

from test_template_tags import *

my_app2.tests.__init__.py 将包含:

from test_something_else import *

然后您的测试将使用 python manage.py test

运行

关于python - Django 1.6+ 测试未发现位于测试子目录中的单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24784161/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com