assertions java java assert tutorial with code examples
Aquest tutorial de Java Assert explica tot sobre les afirmacions de Java. Aprendreu a activar i desactivar les afirmacions, a utilitzar les afirmacions, als exemples d’afirmació, etc.:
En els nostres tutorials anteriors, ja hem comentat les excepcions a Java. Aquests són els errors que es detecten en temps d'execució. De manera similar a les excepcions, hi ha altres construccions que podem utilitzar en el moment de la compilació per provar la correcció del codi. Aquestes construccions s'anomenen 'afirmacions'.
En aquest tutorial, analitzarem detalladament les afirmacions a Java. Podem definir una afirmació com una construcció que ens permet provar la correcció o la claredat de les suposicions que hem fet al nostre programa Java.
=> Feu una ullada a la guia per a principiants de Java aquí.
c ++ genera un número aleatori entre 0 i 1
Què aprendreu:
Afirmacions a Java
Així, quan executem una afirmació en un programa, se suposa que és cert. Si es fa fals o falla, JVM llançarà un AssertionError.
Utilitzem afirmacions durant el desenvolupament amb finalitats de prova. En temps d'execució, les afirmacions estan desactivades per Java.
En què es diferencien les afirmacions de les excepcions normals?
A diferència de les excepcions normals, les afirmacions són útils principalment per comprovar les situacions lògiques d’un programa sobre el qual tenim dubtes. A diferència de les excepcions normals que també es poden llançar en temps d'execució, les afirmacions es desactiven en temps d'execució.
Les afirmacions es poden utilitzar als llocs del codi on el desenvolupador té el màxim control, de la mateixa manera que es poden utilitzar com a paràmetres dels mètodes privats. Les afirmacions també es poden utilitzar amb casos condicionals. De la mateixa manera, les condicions al començament de qualsevol mètode poden contenir afirmacions.
Tot i això, les afirmacions no s’han de prendre com a substitució dels missatges d’error. Tampoc les afirmacions s’han d’utilitzar en mètodes públics, per exemple, per comprovar arguments. El més important és que no hauríem d'utilitzar afirmacions en arguments de línia de comandes a Java.
A Java, les afirmacions estan desactivades per defecte. Per tant, perquè les afirmacions funcionin en un programa Java, primer hem d’habilitar les afirmacions.
Activa les afirmacions a Java
Per activar les afirmacions, ho hem de fer des de la línia d'ordres.
A continuació es mostra la sintaxi general per habilitar l’asserció a Java.
java –ea: arguments
o bé
java –enableassertions: arguments
Com a exemple, podem habilitar afirmacions per a una classe particular, tal com es mostra a continuació:
java –ea TestProgram
o bé
java –enableassertions TestProgram
Aquí, TestProgram és una classe per a la qual s'ha d'habilitar l'afirmació.
Quan la condició és certa a la sentència assert del programa i les afirmacions estan habilitades, el programa s'executarà normalment. Quan la condició és falsa i les afirmacions estan activades, el programa llança AssertionError i el programa s'atura.
Hi ha diverses variacions per habilitar les afirmacions mitjançant la línia d'ordres.
# 1) java –ea
Quan l'ordre anterior es dóna a la línia d'ordres, les afirmacions estan habilitades a totes les classes excepte a les classes del sistema.
# 2) java –ea Main
L'ordre anterior habilita l'afirmació per a totes les classes del programa principal.
# 3) java –ea TestClass Main
Aquesta ordre habilita afirmacions només per a una classe: 'TestClass' al programa principal.
# 4) java –ea com.packageName ... Principal
L'ordre anterior habilita l'afirmació per al paquet com.packageName i els seus paquets secundaris al programa principal.
# 5) java –ea ... Principal
Permet l'asserció del paquet sense nom al directori de treball actual.
# 6) java –esa: arguments O java –enablesystemassertions: arguments
L'ordre anterior habilita afirmacions per a les classes del sistema.
Desactivació de les afirmacions
També podem desactivar les afirmacions mitjançant la línia d’ordres.
La sintaxi general per desactivar les afirmacions a Java és:
java –da arguments
O
java –disableassertions arguments
De manera similar a desactivar les afirmacions de les classes del sistema, fem servir la sintaxi següent:
java – dsa: arguments
O
java –disablesystemassertions:arguments
Paraula clau 'afirmar' a Java
El llenguatge Java proporciona la paraula clau 'assert' que permet als desenvolupadors verificar les suposicions que han fet per al programa o l'estat del programa.
c ++ car a int
Per tant, podem utilitzar la paraula clau 'assert' per proporcionar afirmacions a Java per verificar condicions que d'una altra manera podrien impedir que el programa funcioni sense problemes.
La paraula clau 'afirmar' s'utilitza des de Java 1.4, però continua sent la paraula clau poc coneguda de Java. Quan fem servir la paraula clau assert a Java, ho hem de fer en una declaració Assert.
Afirmació de la declaració a Java
A Java, la declaració assert comença amb la paraula clau 'asset' seguida d'una expressió booleana.
La declaració assert a Java es pot escriure de dues maneres:
- afirmar l’expressió;
- afirmar expression1: expression2;
En ambdós enfocaments, les expressions utilitzades amb la paraula clau Assert són les expressions booleanes.
Considereu la següent afirmació com a exemple.
assert value >= 10 : “greater than 10”;
Aquí, la declaració assert comprova si hi ha una condició i, si la condició és certa, s’imprimeix un missatge. Per tant, també podem fer afirmacions amb el nostre missatge.
Com utilitzar Assert a Java
Fins ara, hem parlat de la paraula clau assert i la declaració assert a Java. Ara, considerem un exemple per demostrar com utilitzar assert a Java.
Per afegir afirmacions, només hem d’afegir una afirmació assert de la manera següent:
public void setup_connetion () { Connection conn = getConnection (); assert conn != null; }
També podem donar l'afirmació anterior de manera diferent, tal com es mostra a continuació:
public void setup_connection () { Connection conn = getConnection (); assert conn != null: “Connection is null”; }
Ambdues construccions de codi anteriors comproven si la connexió retorna un valor que no és nul. Si retorna un valor nul, la JVM llançarà un error: AssertionError. Però en el segon cas, es proporciona un missatge a la declaració assert, de manera que aquest missatge s'utilitzarà per construir AssertionError.
En el segon cas amb les afirmacions activades, l'excepció tindrà el següent aspecte:
Exception in thread 'main' java.lang.AssertionError: Connection is null at line numbers…
Afirma l'exemple a Java
Implantem un exemple d’utilització d’assercions a 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(); } } }
Sortida
La sortida anterior es dóna quan les afirmacions no estan habilitades. Si s'ha activat l'afirmació, es mostrarà el segon missatge (afirmar fals).
Ara demostrem un altre exemple . Tingueu en compte que aquí hem activat l'afirmació a Java a la nostra màquina on executem aquest programa.
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'); } }
Sortida
Com que la durada del cap de setmana no coincideix amb la durada especificada a la declaració assert, es produeix l'excepció anterior. Si l'afirmació estigués inhabilitada, el programa hauria mostrat el missatge especificat en lloc de fer una excepció.
Per què s’utilitzen les afirmacions a Java?
Utilitzem afirmacions al nostre programa Java per assegurar-nos que les suposicions que hem fet al nostre programa són correctes.
Per exemple, si volem assegurar-nos que el codi que sembla inabastable és inabastable. O volem assegurar-nos que qualsevol variable tingui un valor en un interval especificat.
Quan fem aquesta suposició, proporcionem afirmacions per assegurar-nos que siguin correctes.
Preguntes freqüents
P # 1) Fer valer una excepció Java?
Resposta: Assert sol llançar 'AssertionError' quan la suposició feta és incorrecta. AssertionError s’estén des de la classe Error (que finalment s’estén des de Throwable).
Q # 2) Què passa quan una afirmació falla a Java?
Resposta: Si les afirmacions estan habilitades per al programa en què l'afirmació falla, llançarà AssertionError.
P # 3) Què retorna una afirmació a Java?
Resposta: Una declaració assert declara una condició booleana que s'espera que es produeixi en un programa. Si aquesta condició booleana es valora com a falsa, es dóna un AssertionError en temps d'execució sempre que l'afirmació estigui habilitada.
Si la suposició és correcta, la condició booleana tornarà a ser vertadera.
Q # 4) Podem detectar l'error d'afirmació?
Resposta: AssertionError llançat per la sentència assert és una excepció sense comprovar que amplia la classe Error. Per tant, no es requereixen afirmacions per declarar-les explícitament i tampoc no cal provar-les ni captar-les.
P # 5) Com afirmar una excepció?
Resposta: per afirmar una excepció declarem un objecte de ExpectedException de la manera següent:
public ExpectedException exception = ExpectedException. cap ();
A continuació, fem servir els mètodes expected () i expect message () al mètode Test per afirmar l’excepció i donar el missatge d’excepció.
Conclusió
Amb això, hem conclòs aquest tutorial sobre afirmacions a Java. Hem discutit la definició i el propòsit de les afirmacions a Java. Per utilitzar l'afirmació al programa Java, primer hem de permetre'ls que facin servir la línia d'ordres.
Hem explorat les diverses maneres en què podem habilitar les afirmacions a nivell de programa, nivell de paquet, nivell de directori, etc. Les declaracions de recurs i paraules clau d’assert ens ajuden a utilitzar les afirmacions.
Vam veure que es dóna un AssertionError quan falla una afirmació. Les afirmacions a Java s'utilitzen principalment en temps de compilació i per defecte estan desactivades en temps d'execució.
A més, les afirmacions s'utilitzen principalment en el marc JUnit de Java en què escrivim els casos de prova per provar aplicacions.
=> Llegiu la sèrie Easy Training Java.
Lectura recomanada
- Afirmacions en seleni mitjançant marcs Junit i TestNG
- Exemples d’assercions de seleni: aplicacions pràctiques en projectes
- Afirmació a SOAtest amb un exemple de codi XML
- C ++ Assert (): Gestió de les afirmacions a C ++ amb exemples
- Comprensió de les afirmacions de SoapUI - Tutorial de SoapUI núm. 5
- Tutorial JAVA per a principiants: més de 100 tutorials pràctics de vídeo Java
- Matriu irregular a Java: tutorial amb exemples
- Java DataTypes, Loops, Arrays, Switch i Assertions