Sto usando il naso 1.1.2 per scrivere test per un progetto Python. Esiste questa funzione assert_raises
che è menzionata nella documentazione ma non riesco a trovarla da nessuna parte.Dove è la funzione assert_raises del naso?
Dovrebbe essere una scorciatoia per qualcosa di simile:
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
che sarebbe diventato:
assert_raises(ValueError,
do_something_that_should_raise_value_error)
assert_raises(TypeError,
do_something_else_that_should_raise_type_error)
Ho già cercato il codice sorgente e l'unica menzione che ho trovato ero in tools.py modulo, all'interno della documentazione raises
:
Se si desidera testare molte asserzioni sulle eccezioni in un singolo test, potresti invece utilizzare
assert_raises
.
Questa funzione è stata rimossa dal naso? Se è così, qualcuno potrebbe aiutarmi a capire perché?
Ok, funziona! Grazie! Mi sono appena reso conto che la ragione per cui non è definita esplicitamente su nose.tools è perché è una soluzione attraverso l'implementazione di unittest.TestCase assertRaise. Di conseguenza eclipse continua a riportare un errore di importazione su 'da nose.tools import assert_raises'. – tbellardi
non è solo quello in cui PyDev è sbagliato, in un progetto più grande che usa Jython ricordo di dover aggiungere eccezioni per più di cento identificatori ... –