Voglio verificare se è stata sollevata un'eccezione come posso fare?Test se ValidationError è stato sollevato
nel mio models.py ho questa funzione, quella che vuole testare:
def validate_percent(value):
if not (value >= 0 and value <= 100):
raise ValidationError('error')
nel mio tests.py ho provato questo:
def test_validate_percent(self):
self.assertRaises(ValidationError, validate_percent(1000))
l'uscita del test è :
..E
======================================================================
ERROR: test_validate_percent (tm.tests.models.helpers.HelpersTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/...py", line 21, in test_validate_percent
self.assertRaises(ValidationError, validate_percent(1000))
File "/....py", line 25, in validate_percent
raise ValidationError(u'error' % value)
ValidationError: ['error']
Si noti che in Python vostro controllo di convalida dovrebbe essere scritto 'se non 0 <= valore <= 100' . –