Python projesi için test yazmak için burun 1.1.2 kullanıyorum. Belgelerde belirtilmesi gereken assert_raises
işlevi var, ancak hiçbir yerde bulamıyorum.Burun assert_raises işlevi nerede?
value_error_raised = False
try:
do_something_that_should_raise_value_error()
except ValueError:
value_error_raised = True
assert value_error_raised
type_error_raised = False
try:
do_something_else_that_should_raise_type_error()
except TypeError:
type_error_raised = True
assert type_error_raised
olacaktı:
Böyle bir şey için bir kestirme olmalıdır Zaten kaynak kodu arandı ve buldum tek söz tools.py oldu
assert_raises(ValueError,
do_something_that_should_raise_value_error)
assert_raises(TypeError,
do_something_else_that_should_raise_type_error)
modülü,
raises
belgelerinin içinde:
Özel durumlar hakkında birçok iddiayı test etmek isterseniz Tek bir testte, bunun yerine
assert_raises
'u kullanmak isteyebilirsiniz.
Bu işlev buruntan mı çıkarıldı? Eğer öyleyse, birisi nedenini anlamama yardımcı olabilir mi?
Tamam, işe yarıyor! Teşekkürler! Burn.tools üzerinde açık bir şekilde tanımlanma nedeninin, unittest.TestCase assertRaise uygulaması aracılığıyla bir çözüm olması nedeniyle fark ettim. Sonuç olarak, tutulma 'import.tools import assert_raises' 'den bir içe aktarma hatası bildirmeye devam eder. – tbellardi
sadece PyDev'in yanlış olduğu bir yer değil, Jython'u kullanan daha büyük bir projede, yüzlerce tanımlayıcı için istisnalar eklemek zorunda olduğumu hatırlıyorum ... –