assertions java java assert tutorial with code examples
Questo tutorial Java Assert spiega tutto sulle asserzioni in Java. Imparerai ad abilitare e disabilitare le asserzioni, come utilizzare le asserzioni, gli esempi di asserzioni, ecc:
Nei nostri tutorial precedenti, abbiamo già discusso delle eccezioni in Java. Questi sono gli errori rilevati in fase di esecuzione. Simile alle eccezioni, ci sono altri costrutti che possiamo usare in fase di compilazione per testare la correttezza del codice. Questi costrutti sono chiamati 'Asserzioni'.
In questo tutorial, discuteremo in dettaglio le asserzioni in Java. Possiamo definire un'asserzione come un costrutto che ci permette di testare la correttezza o la chiarezza delle ipotesi che abbiamo fatto nel nostro programma Java.
=> Dai un'occhiata alla guida per principianti di Java qui.
Cosa imparerai:
Asserzioni in Java
Pertanto, quando eseguiamo un'asserzione in un programma, si presume che sia vera. Se diventa falso o fallisce, JVM lancerà un AssertionError.
Utilizziamo le asserzioni durante lo sviluppo a scopo di test. In fase di esecuzione, le asserzioni sono disabilitate da Java.
In che modo le asserzioni differiscono dalle normali eccezioni?
A differenza delle normali eccezioni, le Asserzioni sono principalmente utili per verificare le situazioni logiche in un programma su cui abbiamo dei dubbi. Inoltre, contrariamente alle normali eccezioni che possono essere lanciate in fase di esecuzione, le asserzioni sono disabilitate in fase di esecuzione.
Le asserzioni possono essere utilizzate nei punti del codice in cui lo sviluppatore ha il massimo controllo come se potessero essere utilizzate come parametri per metodi privati. Le asserzioni possono essere utilizzate anche con i casi condizionali. Allo stesso modo, le condizioni all'inizio di qualsiasi metodo possono contenere asserzioni.
Tuttavia, le asserzioni non dovrebbero essere prese in sostituzione dei messaggi di errore. Né le affermazioni dovrebbero essere utilizzate in metodi pubblici, per esempio, per controllare gli argomenti. Soprattutto non dovremmo usare asserzioni sugli argomenti della riga di comando in Java.
In Java, le asserzioni sono disabilitate per impostazione predefinita. Quindi, affinché le asserzioni funzionino in un programma Java, dobbiamo prima abilitare le asserzioni.
Abilita asserzioni in Java
Per abilitare le asserzioni, dobbiamo farlo dalla riga di comando.
Di seguito è riportata la sintassi generale per abilitare l'asserzione in Java.
java –ea: arguments
o
java –enableassertions: arguments
Ad esempio, possiamo abilitare le asserzioni per una particolare classe come mostrato di seguito:
java –ea TestProgram
o
java –enableassertions TestProgram
Qui, TestProgram è una classe per la quale deve essere abilitata l'asserzione.
Quando la condizione è vera nell'istruzione assert nel programma e le asserzioni sono abilitate, il programma verrà eseguito normalmente. Quando la condizione è falsa e le asserzioni sono abilitate, il programma lancia AssertionError e il programma si ferma.
Esistono varie varianti per abilitare le asserzioni utilizzando la riga di comando.
# 1) java –ea
Quando il comando precedente viene fornito nella riga di comando, le asserzioni sono abilitate in tutte le classi ad eccezione delle classi di sistema.
# 2) java –ea Main
Il comando precedente abilita l'asserzione per tutte le classi nel programma Main.
migliori VPN di Reddit
# 3) java –ea TestClass Main
Questo comando abilita le asserzioni per una sola classe: 'TestClass' nel programma principale.
# 4) java –ea com.packageName… Main
Il comando precedente abilita l'asserzione per il pacchetto com.packageName e i suoi sotto-pacchetti nel programma Main.
# 5) java –ea… Main
Abilita l'asserzione per il pacchetto senza nome nella directory di lavoro corrente.
# 6) java –esa: argomenti OR java –enablesystemassertions: argomenti
Il comando precedente abilita le asserzioni per le classi di sistema.
Disattivazione delle asserzioni
Possiamo anche disabilitare le asserzioni tramite la riga di comando.
La sintassi generale per disabilitare le asserzioni in Java è:
java –da arguments
O
java –disableassertions arguments
Allo stesso modo per disabilitare le asserzioni nelle classi di sistema, utilizziamo la seguente sintassi:
java – dsa: arguments
O
java –disablesystemassertions:arguments
Parola chiave 'asserire' in Java
Il linguaggio Java fornisce la parola chiave 'assert' che consente agli sviluppatori di verificare le ipotesi che hanno fatto per il programma o lo stato del programma.
Quindi possiamo usare la parola chiave 'assert' per fornire asserzioni in Java per verificare condizioni che altrimenti potrebbero impedire al programma di funzionare senza problemi.
La parola chiave 'assert' viene utilizzata da Java 1.4 ma rimane la parola chiave poco conosciuta in Java. Quando usiamo la parola chiave assert in Java, dobbiamo farlo in un'istruzione Assert.
Dichiarazione di asserzione in Java
In Java, l'istruzione assert inizia con la parola chiave 'asset' seguita da un'espressione booleana.
L'istruzione assert in Java può essere scritta in due modi:
- affermare l'espressione;
- asserisci espressione1: espressione2;
In entrambi gli approcci, le espressioni utilizzate con la parola chiave Assert sono le espressioni booleane.
Considera la seguente dichiarazione come esempio.
assert value >= 10 : “greater than 10”;
Qui, l'istruzione assert verifica una condizione e se la condizione è vera, viene stampato un messaggio. Così possiamo anche avere delle affermazioni con il nostro messaggio.
Come utilizzare Assert in Java
Finora, abbiamo discusso la parola chiave assert e l'istruzione assert in Java. Consideriamo ora un esempio per dimostrare come utilizzare assert in Java.
Per aggiungere asserzioni, dobbiamo semplicemente aggiungere un'istruzione assert come segue:
public void setup_connetion () { Connection conn = getConnection (); assert conn != null; }
Possiamo anche dare l'asserzione di cui sopra in modo diverso come mostrato di seguito:
public void setup_connection () { Connection conn = getConnection (); assert conn != null: “Connection is null”; }
Entrambi i costrutti di codice sopra controllano se la connessione restituisce un valore non nullo. Se restituisce un valore nullo, JVM genererà un errore - AssertionError. Ma nel secondo caso, viene fornito un messaggio nell'istruzione assert, quindi questo messaggio verrà utilizzato per costruire AssertionError.
Nel secondo caso con le asserzioni abilitate, l'eccezione sarà simile a:
Exception in thread 'main' java.lang.AssertionError: Connection is null at line numbers…
Asserire un esempio in Java
Implementiamo un esempio di utilizzo delle asserzioni in Java.
public class Main { public static void main(String() args) { try { System.out.println('Testing Assertions...'); assert true : 'We don't see this.'; assert false : 'Visible if assertions are ON.'; } catch (AssertionError e) { e.printStackTrace(); } } }
Produzione
L'output precedente viene fornito quando le asserzioni non sono abilitate. Se l'asserzione è stata abilitata, verrà visualizzato il secondo messaggio (asserzione falsa).
Dimostriamo ora un altro esempio . Notare che qui abbiamo abilitato l'asserzione in Java sulla nostra macchina su cui stiamo eseguendo questo programma.
class Main { public static void main(String args()) { String() weekends = {'Friday', 'Saturday', 'Sunday'}; assert weekends.length == 2; System.out.println('We have ' + weekends.length + ' weekend days in a week'); } }
Produzione
Poiché la lunghezza del fine settimana non corrisponde alla lunghezza specificata nell'istruzione assert, viene generata l'eccezione precedente. Se l'asserzione è stata disabilitata, il programma avrebbe visualizzato il messaggio specificato invece di asserire eccezione.
Perché le asserzioni vengono utilizzate in Java?
Usiamo le asserzioni nel nostro programma Java per assicurarci che le ipotesi che abbiamo fatto nel nostro programma siano corrette.
Per esempio, se vogliamo assicurarci che il codice che sembra essere irraggiungibile sia effettivamente irraggiungibile. Oppure vogliamo assicurarci che ogni variabile abbia un valore in un intervallo specificato.
Quando facciamo una simile ipotesi, forniamo asserzioni per assicurarci che siano effettivamente corrette.
Domande frequenti
D # 1) Assert genera un'eccezione Java?
Risposta: Assert di solito genera 'AssertionError' quando l'assunzione fatta è sbagliata. AssertionError si estende dalla classe Error (che alla fine si estende da Throwable).
D # 2) Cosa succede quando un'asserzione fallisce in Java?
Risposta: Se le asserzioni sono abilitate per il programma in cui l'asserzione fallisce, allora lancerà AssertionError.
D # 3) Cosa restituisce un assert in Java?
Risposta: Un'istruzione assert dichiara una condizione booleana che dovrebbe verificarsi in un programma. Se questa condizione booleana restituisce false, viene fornito un AssertionError in fase di esecuzione, a condizione che l'asserzione sia abilitata.
Se l'ipotesi è corretta, la condizione booleana restituirà true.
Q # 4) Possiamo rilevare l'errore di asserzione?
Risposta: L'eccezione AssertionError generata dall'istruzione assert è un'eccezione non controllata che estende la classe Error. Quindi le asserzioni non sono obbligate a dichiararle esplicitamente e inoltre non è necessario provarle o catturarle.
Q # 5) Come si afferma un'eccezione?
Risposta: per affermare un'eccezione dichiariamo un oggetto di ExpectedException come segue:
public ExpectedException exception = ExpectedException. nessuno ();
Quindi usiamo i metodi it previsto () e previsto messaggio () nel metodo Test, per affermare l'eccezione e fornire il messaggio di eccezione.
Conclusione
Con questo, abbiamo concluso questo tutorial sulle asserzioni in Java. Abbiamo discusso la definizione e lo scopo delle asserzioni in Java. Per utilizzare l'asserzione nel programma Java, dobbiamo prima abilitarli a utilizzare la riga di comando.
Abbiamo esplorato i vari modi in cui possiamo abilitare le asserzioni a livello di programma, a livello di pacchetto, a livello di directory, ecc. È stata discussa la parola chiave Assert e le istruzioni assert in Java e la loro sintassi dettagliata con esempi di programmazione. La parola chiave assert e le dichiarazioni delle risorse ci aiutano a utilizzare le asserzioni.
Abbiamo visto che viene fornito un AssertionError quando un'asserzione fallisce. Le asserzioni in Java vengono utilizzate principalmente in fase di compilazione e sono disabilitate per impostazione predefinita in fase di esecuzione.
Inoltre, le asserzioni vengono utilizzate principalmente nel framework JUnit di Java in cui scriviamo i casi di test per testare le applicazioni.
=> Leggere attraverso la serie di formazione Easy Java.
Lettura consigliata
- Asserzioni in selenio utilizzando framework Junit e TestNG
- Esempi di asserzioni di selenio - Applicazioni pratiche nei progetti
- Asserzione in SOAtest con un esempio di codice XML
- C ++ Assert (): gestione delle asserzioni in C ++ con esempi
- Capire le asserzioni in SoapUI - SoapUI Tutorial n. 5
- Tutorial JAVA per principianti: oltre 100 tutorial video Java pratici
- Jagged Array in Java - Tutorial con esempi
- Tipi di dati Java, loop, array, switch e asserzioni