próbuję wdrożyć pełny i czysty sposób testowania pakietów Python, taki, który będzie odpowiadał wymaganiom folowing:Rozwiązywanie zamieszanie generowane przez zbyt wielu sposobów, aby uruchomić unittest w Pythonie
- wykonujące testy na czystych maszyn bez ich ustanowieniem (virtualenv)
- zebrać wyniki wielu platformach
- zebrać wyniki wielu tłumaczy Pythona
- współpracowników de pokrycie (połączenie wyników wielokrotnego wykonania w pojedynczym raporcie)
- być w stanie wygenerować raport o pokryciu kodu XML, aby system budujący mógł śledzić zmiany w czasie.
- móc włączyć testy wyłączyć oparty na platformie
- uruchomić kilka poleceń przed testami, jak pep8 lub autopep8
- testy wykonywane równolegle.
użyłem kilka podejść: nose + pytest
, tox + pytest
ale niedawno odkryto, że pytest
powinien być w stanie zrobić większość rzeczy.
Głównym problemem jest to, że nie byłem w stanie znaleźć jasnego porównania odnośnie tego, kiedy lepiej byłoby zastosować jedno lub drugie podejście.
Czy ktoś może wyjaśnić i podać niektóre przypadki użycia lub ograniczenia tych konfiguracji? ... tylko po to, by wyjaśnić, kiedy wybierasz się do jednego lub drugiego podejścia.
W końcu chcę mieć te opcje:
quicktest
- uruchomić testy lokalnie, musi przed każdym commmitfulltest
- pełne testy, uruchamiając je na wszystkich dostępnych platformach, koniecznością przed wprowadzeniem nowej wersji
Jeśli pytest spełnia wszystkie Twoje potrzeby, dlaczego rozważasz użycie innej konfiguracji? Z pewnością byłoby to najprostsze. – pfctdayelise