Py.test ile test yürütme sürelerini yazdırma ve yavaş testleri sabitleme


122

Py.test kullanarak bir CI sunucusunda birim testleri çalıştırıyorum. Testler, ağ üzerinden getirilen harici kaynakları kullanır. Bazen test koşucusu çok uzun sürer ve test koşucusunun iptal edilmesine neden olur. Yerel olarak sorunları tekrarlayamam.

Py.test (yavaş) testin yürütme sürelerini yazdırmanın bir yolu var mı, böylece sorunlu testleri tespit etmek daha kolay hale gelir?

Yanıtlar:


175

Bunun sorununuzu çözeceğinden emin değilim, ancak test paketi bittikten sonra en --durations=Nyavaş Ntestleri yazdırmayı geçebilirsiniz .

--durations=0Tümünü yazdırmak için kullanın .


89
--durations=0TÜM testler için yürütme süresini geçerseniz rapor edilecektir.
oLas

Oluşturulan HTML kapsam raporuna ekleme imkanı olup olmadığını biliyor musunuz? .coveragercİçerikle birlikte dosya eklemek gibi , [run] branch = Truedallanma kapsamı bilgisi ekler?
Martin Thoma

Bu bilgileri kendiniz eklemeniz gerekecek, pytest-html ek içerik ekleme desteğine sahiptir.
Bruno Oliveira

4
@oLas: Bu doğru değil: Testler "çok hızlı" ise, ölçülen süre görünüşte 0 olabilir ve yine de filtrelenir. Negatif bir eşik de bu durumda yardımcı olmaz. Bu yaklaşımın bir başka sıkıntısı da, pytest'in her zaman (0.00 durations hidden. Use -vv to show these durations.)hiçbir anlam ifade etmeyen yazdırmasıdır .
bluenote10

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.