在python中在哪里测试子包?



当一个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

但这实际上归结为首选项/样式,或者取决于您用于测试代码的任何框架。

最新更新