45

単体テストを使用して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

(メソッドと関数の)単体テストと(パッケージ全体を使用し、場合によっては他のリソースを含む)統合テストを区別したいと思います。おそらく、これらのテストは異なるパッケージに含まれている、異なるファイル名を持っている、および/または特定のdocstringコメントを含める必要があります。

これを行うための標準的な規則はありますか?

4

2 に答える 2

26

私たちのプロジェクトでは、あなたの場合と同じように、各パッケージ内に単体テストがあり、統合テスト、システムテストは、トップレベルの個別のパッケージとしてあります。

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つしかない場合でも、この規則を使用します。しかし、これが標準的な慣習であるかどうかはわかりません。

于 2013-04-08T14:22:50.800 に答える
3

私は自分でこれを調べたところ、この提案が役に立ったことがわかりました。

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
于 2019-02-18T02:10:49.607 に答える