2013-03-26 7 views
29

最も一般的な方法がある:Pythonの統合テストと単体テストを区別するための規則はありますか?次のようにユニットテストと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 

Iは、全体のパッケージを使用して((メソッドと機能の)ユニットテストと統合テストを区別したいとおそらく含むであろうその他のリソース)。おそらく、これらのテストは、異なるパッケージにあり、異なるファイル名を持ち、特定のドキュメントストリングのコメントを含むべきです。

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

私たちはあなたのケースと同じで、各パッケージ内のユニットテスト、統合テスト、システムテスト、トップレベルで別々のパッケージとして、すなわち持っている私たちのプロジェクトで

答えて

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

私は本当にそのパッケージ内のパッケージの統合テストを続けたいと思います。 –

+2

その場合、私は2つの別々のサブパッケージをあなたのパッケージ(1つはテストと呼ばれ、もう1つはシステムテストと呼ばれます)を作成しますが、これは明確にコンベンションではなく私の推測です。 –

+1

@ JaceBrowning:「統合テスト」の一部ではない、複数のパッケージが関与している可能性はありますか?この場合、このテストの位置はユニットテストの上にあるはずです。 –