2013-03-26 7 views
29

Najczęstszym sposobem nadawania struktury pakietu Pythona jednostki badań jest następujący:Czy istnieje konwencja pozwalająca odróżnić testy integracji Pythona od testów jednostkowych?

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 

ja jak odróżnić testów jednostkowych (metody i funkcje) i badania integracji (stosując cały pakiet, a która może obejmować inne zasoby). Być może te testy powinny znajdować się w różnych pakietach, mieć różne nazwy plików i/lub zawierać pewne komentarze do programu docstring.

Czy istnieje standardowa konwencja w tym zakresie?

Odpowiedz

21

W naszym projekcie mamy testy jednostkowe wewnątrz każdego opakowania, tak samo jak sprawy i testy integracyjne, testy systemowe, jako osobny pakiet na najwyższym poziomie, tj:

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 

Chciałbym wykorzystać tę konwencję nawet jeśli masz tylko jeden pakiet w projekcie. Jednak nie jestem pewien, czy jest to standardowa konwencja, czy nie.

+0

Naprawdę chciałbym przeprowadzić testy integracyjne dla pakietu w tym pakiecie. –

+2

W takim przypadku utworzyłbym 2 oddzielne podpakiety na twoim pakiecie (jeden o nazwie test i jeden o nazwie systemtest), ale to zdecydowanie nie jest konwencja, ale moje przypuszczenie. –

+1

@ JaceBrowning: Czy nie jest to częścią "testu integracji", że może być zaangażowany więcej niż jeden pakiet? W takim przypadku pozycja tego testu powinna być powyżej jakiegokolwiek testu jednostkowego. –

Powiązane problemy