L'affermazione assert di java può permetterti di specificare un messaggio?
Domanda
Sembra che potrebbe essere utile che l'asserzione mostri un messaggio quando un'asserzione fallisce.
Attualmente viene lanciato un AssertionError
, puoi specificare un messaggio personalizzato per questo?
Puoi mostrare un meccanismo di esempio per farlo (oltre a creare il tuo tipo di eccezione e lanciarlo)?
Soluzione
Certamente puoi:
assert x > 0 : "x must be greater than zero, but x = " + x;
Vedi Programmazione con asserzioni per ulteriori informazioni informazioni.
Altri suggerimenti
assert (condition) : "some message";
Consiglio di mettere il condizionale tra parentesi
assert (y > x): "y is too small. y = " + y;
Immagina se ti imbattessi in codice come questo ...
assert isTrue() ? true : false : "some message";
Non dimenticare che non ha nulla a che fare con le affermazioni che scriveresti in JUnit.
Fa assolutamente:
assert importantVar != null : "The important var was null!";
Questo aggiungerà " L'importante var era null " ad eccezione dell'eccezione.
Se si utilizza
assert Expression1 : Expression2 ;
Expression2 viene utilizzato come messaggio di dettaglio per AssertionError.