使用单元测试构建Python包的最常用方法如下:
package/
__init__.py
module_1.py
module_2.py
module_n.py
test/
__init__.py
test_module_1.py
test_module_2.py
test_module_n.py
我想区分单元测试(方法和功能)和集成测试(使用整个包并可能涉及其他资源)。也许这些测试应该在不同的包中,具有不同的文件名,和/或包含某些文档字符串注释。
这样做是否有标准惯例?
答案 0 :(得分:21)
在我们的项目中,我们在每个包中都有单元测试,与您的情况相同,集成测试,系统测试,作为顶层的单独包,即:
package_1/
__init__.py
module_1.py
module_n.py
test/
__init__.py
test_module_1.py
test_module_n.py
package_n/
__init__.py
module_1.py
module_n.py
test/
__init__.py
test_module_1.py
test_module_n.py
systemtest/
__init__.py
systemtest_1.py
systemtest_n.py
即使你在项目中只有一个包,我也会使用这个约定。但是我不确定这是否是标准惯例。
答案 1 :(得分:0)
我刚刚为自己进行了研究,发现this suggestion很有帮助:
project/
│
├── my_app/
│ └── __init__.py
│
└── tests/
|
└── unit/
| ├── __init__.py
| └── test_sum.py
|
└── integration/
|
├── example_data/
| ├── test_basic.json
| └── test_complex.json
|
├── __init__.py
└── test_integration.py