在哪里将子包的测试放在python中?

时间:2018-09-28 15:21:24

标签: python testing nested package directory-structure

当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

1 个答案:

答案 0 :(得分:0)

这里有一个类似的答案:

https://stackoverflow.com/a/24266885/6529424

但这实际上取决于偏好/样式,或者取决于您用来测试代码的框架。