expecter size iddialarını yazmak için yardımcı olur. Bir daha asla beklendiği ve hangi gerçek olduğunu hangi unutacak!
Temel beklentiler kolay:
& Nbsp; >>> expecter ithalat bekliyoruz gelen
& Nbsp; >>> ('bazı' + 'şey') == 'şey' bekliyoruz
& Nbsp; ('şey') bekliyoruz
& Nbsp; >>> bekliyoruz (1)> 100
& Nbsp; traceback (en son çağrı son):
& Nbsp; ...
& Nbsp; AssertionError: 100'den fazla şey Beklenen ama 1 var
Sadece bir cümle gibi beklentileri okuyun. "Beklemek (2) == 1 + 1" okur gibi "eşit 1 + 1 2 bekliyoruz". Açıkçası, beklenti yaklaşık 2, ve 1 + 1 yok belirsizliğe göre ediliyor!
İSTİSNALAR
Durumlar hakkında Beklentiler "ile" deyimini kullanın. Beklenen istisna kaldırdı eğer her şey iyidir:
& Nbsp; >>> __future__ ithalat with_statement gelen
& Nbsp; >>> ile expect.raises (KeyError):
& Nbsp; ... {} [123]
O kaldırdı değilse, Expecter Gadget bir AssertionError çıkaracağız:
& Nbsp; >>> ile expect.raises (KeyError):
& Nbsp; ... pas
& Nbsp; traceback (en son çağrı son):
& Nbsp; ...
& Nbsp; AssertionError: tip KeyError bir istisna Beklenen ama hiçbiri var
Beklenen bir eşleşmiyor İstisnalar beklediğiniz kadar test hata olur, yutulması olmayacak:
& Nbsp; >>> __future__ ithalat with_statement gelen
& Nbsp; >>> ile expect.raises (NameError):
& Nbsp; ... {} [123]
& Nbsp; traceback (en son çağrı son):
& Nbsp; ...
& Nbsp; KeyError: 123
ÖZEL BEKLENTİLER
Sen add_expectation yöntemi ile özel bir beklenti ekleyebilirsiniz. Bunu başarısız olursa beklenti başarılı olursa doğru ve yanlış dönmelidir bir yüklemi verir. Tüm beklenti nesneleri (yani bir lambda kullanmayın) sizin yüklem yöntemin adı ile bir yöntemi büyüyecek. Senin yüklem başarısız olduğunda uygun istisna mesajları oluşturulur:
& Nbsp; >>> import expecter
& Nbsp; >>> def (bir şey) can_meow:
& Nbsp; ... dönüş şey == 'pisi'
& Nbsp; >>> expecter.add_expectation (can_meow)
& Nbsp; >>> ('pisi') bekliyoruz can_meow ().
& Nbsp; >>> ('köpek') bekliyoruz can_meow ().
& Nbsp; traceback (en son çağrı son):
& Nbsp; ...
& Nbsp; AssertionError: Bu 'köpek' can_meow Beklenen, ama yapamam
Gereksinimler :
- Python
Yorum Bulunamadı