2013-10-04 15 views
7

Kodumuzun sistem testleri için pytest kullanarak bir test kablo takımı yazdım. Bu testler sürekli entegrasyon sistemimizde kullanılmaktadır, bu yüzden junit xml çıkış seçeneğini kullanıyorum. Uzun iplerin pytest tarafından kesilmesi bana sorunlara neden oluyor. Bunu -vv seçeneğini kullanarak engelleyebileceğimi biliyorum, ancak bu, okunması zor olan her bir testin sonuçları için ayrıntılı çıktı verir. Aslına bakarsanız, uzun dizenin en azından kesme xml dosyasında kesilmesini önlemek için farklı bir yol istiyorum. Ayrıca konsol çıkışında da çalıştıysa, bu daha iyi olurdu ama gerekli değil.Sızdırmazlıktaki uzun dizelerin kesilmesinin önlenmesi

Kodumuz çok sayıda değer içeren raporlar üretir ve çıktıların doğru olduğu bilinen bir çıktı kümesiyle karşılaştırılır. Hatalı olan tüm alanları sadece ilk hata olarak bildirmiyorum. Bu yüzden dize başına bir hata ile dizelerin bir listesini oluşturuyorum. Sonra, tüm hataları içeren bir uzun dize ve uzun dize oluşturmak için dizelerle yeni satırlara katıldım. Eğer onaylama başarısız olursa, yüzlerce satır olabilen dizenin tüm içeriğini görmem gerekiyor.

errors = [] 
error.extend(get_report_errors()) 
s = '\n'.join(errors) 
assert (s == '') 

herhangi bir öneriniz

Ben Python 2.6 ve 2.7 ve pytest 2.3.5 kullanıyorum. Gereken pytest versiyonunu yükseltebilirim.

cevap

1

tb bayrağını kullanabilirsiniz. Bu, pytest için geri tepme çıktısıdır. Bunun için var birkaç seçenek: sizin için en iyi olanı chooise gerekir --tb=style traceback print mode (auto/long/short/line/native/no)

.

İlgili konular