我是python的新手,所以我认为这更像是一个理解的东西,我因为这个而无法工作。
我首先创建了一个新的Pyramid项目,以便我的目录结构如下所示:
MyProject / - myproject / - static - templates - tests.py - views.py - development.ini - production.ini - setup.py - setup.cfg
然而,我将很多业务/服务逻辑添加到根包目录下的myprojectlib包中,并且还创建了一个测试包,如下所示:
MyProject / - myproject / - tests.py - views.py - myprojectlib / - user_service.py - tests / - user_tests.py - setup.py
我已将 init .py文件添加到'myprojectlib'和'tests'文件夹中以使其成为包,但我似乎无法获取user_tests.py文件(以及随后的文件)测试代码)包含在python setup.py test
命令中。仅包含myproject / tests.py测试。
到目前为止,我的user_tests.py文件包含一个测试:
import unittest class UserTests(unittest.TestCase): def test_user_can_register(self): #code removed for example
我如何告诉python在/ tests目录中查找测试?
我看了一下这篇文章,似乎我正在做的一切建议:Having tests in multiple files
提前感谢您的任何帮助:)
干杯, 贾斯汀
答案 0 :(得分:1)
在setup
的{{1}}来电中,尝试添加以下内容:
setup.py
因为那是包含测试的目录。我通常构建我的新样式包,并使用 test_suite="tests",
进行测试,因此我的nose
中没有。添加该声明后,现在在调用setup.py
时执行测试。
来源:https://pythonhosted.org/setuptools/setuptools.html#test-build-package-and-run-a-unittest-suite
再次确保test目录中有python setup.py test
,否则setuptools test runner会抱怨缺少__init__.py
模块。