当一个python模块有多个子包时,这些子包中的功能测试应该放在哪里?
我可以看到两种方法可以做到:
- 在每个子包中创建一个单独的
test
文件夹,并将其测试放在其中。 - 复制顶级
test
文件夹中的包层次结构,将每个子包的测试放在相应的文件夹中。
但是,目前尚不清楚应该首选哪个选项。
对于包裹foo
这样安排:
foo/
__init__.py
bar.py
baz/
__init__.py
baz.py
我把测试放在这里吗?
foo/
__init__.py
bar.py
baz/
__init__.py
baz.py
test/
__init__.py
test_bar.py
baz/
__init__.py
test_baz.py
还是在这里?
foo/
__init__.py
bar.py
baz/
__init__.py
baz.py
test/
__init__.py
test_baz.py
test/
__init__.py
test_bar.py
这里有一个类似的答案:
https://stackoverflow.com/a/24266885/6529424
但这实际上归结为首选项/样式,或者取决于您用于测试代码的任何框架。