py.test를 사용하여 테스트 실행 시간 인쇄 및 느린 테스트 고정


118

py.test를 사용하여 CI 서버에서 단위 테스트를 실행하고 있습니다. 테스트는 네트워크를 통해 가져온 외부 리소스를 사용합니다. 때로는 테스트 실행기가 너무 오래 걸리므로 테스트 실행기가 중단됩니다. 지역적으로 문제를 반복 할 수 없습니다.

py.test가 (느린) 테스트의 실행 시간을 인쇄하도록 만드는 방법이 있습니까? 그러면 문제가있는 테스트를 고정하는 것이 더 쉬워 집니까?

답변:


172

이것이 문제를 해결할 수 있을지 모르겠지만 테스트 스위트가 완료된 후 --durations=N가장 느린 N테스트 를 인쇄하기 위해 통과 할 수 있습니다 .

--durations=0모두 인쇄하는 데 사용 합니다.


88
--durations=0모든 테스트에 대한 실행 시간을 통과하면 보고됩니다.
oLas

생성 된 HTML 커버리지 보고서에 추가 할 가능성이 있는지 알고 있습니까? .coveragerc내용과 함께 파일을 추가하는 것과 유사하게 [run] branch = True분기 범위 정보가 추가됩니까?
Martin Thoma

해당 정보를 직접 추가해야합니다. pytest-html은 추가 콘텐츠 삽입을 지원합니다.
Bruno Oliveira

4
@oLas : 사실이 아닙니다. 테스트가 "너무 빠르다"면 측정 된 시간이 분명히 0이 될 수 있으며 여전히 필터링됩니다. 이 경우 음수 임계 값도 도움이되지 않습니다. 이 접근 방식의 또 다른 성가심은 pytest가 항상 (0.00 durations hidden. Use -vv to show these durations.)의미가없는 인쇄 를한다는 것입니다.
bluenote10 2018

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.