assertions java java assert tutorial with code examples
standard gateway er ikke tilgængelig
Denne Java Assert-vejledning forklarer alt om påstande i Java. Du lærer at aktivere og deaktivere påstande, hvordan man bruger påstande, hævdeeksempler osv.:
I vores tidligere tutorials har vi allerede diskuteret undtagelser i Java. Dette er de fejl, der fanges ved kørsel. I lighed med undtagelser er der nogle andre konstruktioner, som vi kan bruge på kompileringstidspunktet til at teste korrektheden af koden. Disse konstruktioner kaldes 'Påstande'.
I denne vejledning vil vi diskutere påstande i Java i detaljer. Vi kan definere en påstand som en konstruktion, der giver os mulighed for at teste rigtigheden eller klarheden af de antagelser, vi har lavet i vores Java-program.
=> Se på Java Beginners Guide her.
Hvad du lærer:
Påstande i Java
Når vi således udfører påstand i et program, antages det at være sandt. Hvis det bliver falsk eller mislykkes, kaster JVM en AssertionError.
Vi bruger påstande under udviklingen til testformål. På runtime er påstande deaktiveret af Java.
Hvordan adskiller påstande sig fra normale undtagelser?
I modsætning til normale undtagelser er påstande primært nyttige til at kontrollere de logiske situationer i et program, som vi er i tvivl om. I modsætning til normale undtagelser, der også kan kastes ved kørselstid, er påstande deaktiveret under kørselstid.
Påstande kan bruges de steder i koden, hvor udvikleren har maksimal kontrol, ligesom de kan bruges som parametre til private metoder. Påstande kan også bruges med betingede tilfælde. Tilsvarende kan betingelser i starten af en hvilken som helst metode indeholde påstande.
Påstande bør dog ikke tages som erstatning for fejlmeddelelser. Hverken påstandene skal bruges i offentlige metoder, for eksempel, for at kontrollere argumenter. Vigtigst af alt skal vi ikke bruge påstande om kommandolinjeargumenter i Java.
I Java er påstande deaktiveret som standard. Så for påstande at arbejde i et Java-program, skal vi først aktivere påstandene.
Aktivér påstande i Java
For at aktivere påstande skal vi gøre det fra kommandolinjen.
Følgende er den generelle syntaks til aktivering af påstand i Java.
java –ea: arguments
eller
java –enableassertions: arguments
Som et eksempel kan vi aktivere påstande for en bestemt klasse som vist nedenfor:
java –ea TestProgram
eller
java –enableassertions TestProgram
Her er TestProgram en klasse, som påstanden skal aktiveres for.
Når betingelsen er sand i erklæringen i programmet, og påstande er aktiveret, udføres programmet normalt. Når betingelsen er falsk, og påstande er aktiveret, kaster programmet AssertionError, og programmet stopper.
Der er forskellige variationer til aktivering af påstande ved hjælp af kommandolinjen.
# 1) java –ea
Når ovenstående kommando er givet i kommandolinjen, er påstandene aktiveret i alle klasser undtagen systemklasser.
# 2) java –ea Main
Ovenstående kommando muliggør påstand for alle klasser i hovedprogrammet.
# 3) java –ea TestClass Main
Denne kommando muliggør kun påstande for en klasse - 'TestClass' i hovedprogrammet.
# 4) java –ea com.packageName ... Main
Ovenstående kommando muliggør påstand om pakke com.packageName og dens underpakker i hovedprogrammet.
# 5) java –ea ... Main
Aktiverer påstand for den ikke-navngivne pakke i den aktuelle arbejdsmappe.
# 6) java –esa: argumenter ELLER java –enablesystemassertions: argumenter
Ovenstående kommando muliggør påstande for systemklasserne.
Deaktivering af påstande
Vi kan også deaktivere påstande via kommandolinjen.
Den generelle syntaks for at deaktivere påstande i Java er:
java –da arguments
ELLER
java –disableassertions arguments
På samme måde som at deaktivere påstande i systemklasser bruger vi følgende syntaks:
java – dsa: arguments
ELLER
java –disablesystemassertions:arguments
'Hævde' nøgleord i Java
Java-sprog giver nøgleordet 'assert', der gør det muligt for udviklere at kontrollere de antagelser, de har givet for programmet eller tilstanden af programmet.
Så vi kan bruge 'assert' nøgleordet til at give påstande i Java for at kontrollere forhold, der ellers kunne forhindre programmet i at fungere problemfrit.
Nøgleordet 'assert' bruges fra Java 1.4, men forbliver det lille kendte nøgleord i Java. Når vi bruger assert-nøgleordet i Java, skal vi gøre det i en Assert-erklæring.
Påstandserklæring i Java
I Java starter erklæringen med nøgleordet 'aktiv' efterfulgt af et boolsk udtryk.
Påstanden i Java kan skrives på to måder:
- hævde udtryk;
- hævde udtryk1: udtryk2;
I begge tilgange er de udtryk, der bruges med nøgleordet Assert, de boolske udtryk.
Overvej følgende udsagn som et eksempel.
assert value >= 10 : “greater than 10”;
Her kontrollerer erklæringen om en betingelse, og hvis betingelsen er sand, udskrives en besked. Således kan vi også have påstande med vores budskab.
Sådan bruges påstand i Java
Indtil videre har vi diskuteret assert-nøgleordet og assert-sætningen i Java. Lad os nu overveje et eksempel for at demonstrere, hvordan man bruger assert i Java.
For at tilføje påstande skal vi blot tilføje en erklæring på følgende måde:
public void setup_connetion () { Connection conn = getConnection (); assert conn != null; }
Vi kan også give ovenstående påstand forskelligt som vist nedenfor:
public void setup_connection () { Connection conn = getConnection (); assert conn != null: “Connection is null”; }
Begge ovenstående kodekonstruktioner kontrollerer, om forbindelsen returnerer en ikke-nul-værdi. Hvis den returnerer en nulværdi, vil JVM kaste en fejl - AssertionError. Men i det andet tilfælde leveres en meddelelse i erklæringen, så denne meddelelse vil blive brugt til at konstruere AssertionError.
I det andet tilfælde med påstande aktiveret vil undtagelsen se ud som:
Exception in thread 'main' java.lang.AssertionError: Connection is null at line numbers…
Påstå eksempel i Java
Lad os implementere et eksempel på brug af påstande i 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(); } } }
Produktion
Ovenstående output gives, når påstandene ikke er aktiveret. Hvis påstanden blev aktiveret, vises den anden meddelelse (hævder falsk).
Lad os nu demonstrere et andet eksempel . Bemærk, at her har vi aktiveret påstanden i Java på vores maskine, hvor vi kører dette program.
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'); } }
Produktion
Da weekendlængden ikke svarer til den længde, der er angivet i erklæringen, kastes ovenstående undtagelse. Hvis påstanden var deaktiveret, ville programmet have vist den meddelelse, der er angivet i stedet for at hævde en undtagelse.
Hvorfor bruges påstande i Java?
Vi bruger påstande i vores Java-program for at sikre os, at de antagelser, vi har givet i vores program, er korrekte.
For eksempel, hvis vi vil sikre os, at den kode, der ser ud til at være utilgængelig, faktisk ikke kan nås. Eller vi vil sikre os, at enhver variabel har en værdi i et specificeret interval.
Når vi antager en sådan antagelse, giver vi påstande for at sikre, at de virkelig er korrekte.
Ofte stillede spørgsmål
Q # 1) Kaster assert en undtagelse Java?
Svar: Assert kaster normalt 'AssertionError', når antagelsen er forkert. AssertionError udvides fra klasse klasse (som i sidste ende strækker sig fra Throwable).
Q # 2) Hvad sker der, når en påstand mislykkes i Java?
Svar: Hvis påstande er aktiveret for det program, hvor påstanden mislykkes, kaster den AssertionError.
Q # 3) Hvad returnerer en påstand i Java?
Svar: En erklæring erklærer en boolsk tilstand, der forventes at forekomme i et program. Hvis denne boolske tilstand evalueres til falsk, gives en AssertionError ved kørsel, forudsat at påstanden er aktiveret.
Hvis antagelsen er korrekt, vil den boolske tilstand blive sand.
Spørgsmål nr. 4) Kan vi fange påstandsfejlen?
Svar: AssertionError kastet af erklæringen er en ukontrolleret undtagelse, der udvider klassen Error. Påstande er således ikke påkrævet for at erklære dem eksplicit, og det er heller ikke nødvendigt at prøve eller fange dem.
Spørgsmål nr. 5) Hvordan hævder du en undtagelse?
Svar: For at hævde en undtagelse erklærer vi et objekt for ExpectedException som følger:
public ExpectedException undtagelse = ExpectedException. ingen ();
Derefter bruger vi det forventede () og forvent meddelelses () metoder i testmetoden til at hævde undtagelsen og give undtagelsesmeddelelsen.
Konklusion
Med dette har vi afsluttet denne vejledning om påstande i Java. Vi har diskuteret definitionen og formålet med påstande i Java. For at bruge påstand i Java-program skal vi først aktivere dem til at bruge kommandolinjen.
Vi undersøgte de forskellige måder, hvorpå vi kan aktivere påstande på programniveau, pakke niveau, katalogniveau osv. Påstå nøgleord og hævde udsagn i Java og deres detaljerede syntaks med programmeringseksempler blev drøftet. Påstanden om nøgleord og aktiv hjælper os med at bruge påstande.
Vi så, at en AssertionError gives, når en påstand mislykkes. Påstande i Java bruges mest ved kompileringstidspunkt, og de er som standard deaktiveret ved kørsel.
Desuden bruges påstande for det meste i JUnit-rammen af Java, hvor vi skriver testsagerne til testapplikationer.
=> Læs gennem Easy Java Training Series.
Anbefalet læsning
- Påstande i selen ved hjælp af Junit og TestNG Frameworks
- Eksempler på selenpåstand - Praktiske anvendelser i projekter
- Påstand i SOAtest med et XML-kodeeksempel
- C ++ Assert (): Påstandshåndtering i C ++ med eksempler
- Forståelse af påstande i SoapUI - SoapUI Tutorial # 5
- JAVA-vejledning til begyndere: 100+ praktiske Java-videovejledninger
- Jagged Array In Java - Vejledning med eksempler
- Java datatyper, sløjfer, arrays, switch og påstande