what is junit test fixture
In deze zelfstudie wordt uitgelegd wanneer, waarom en hoe u JUnit-testopstelling gebruikt met eenvoudige JUnit-testopstellingvoorbeelden voor een eenvoudig begrip van het concept:
We zullen leren -
- Wanneer en waarom hebben we de testopstelling nodig?
- Wat is de aanpak om het in onze code voor de JUnit-test te gebruiken?
- Een paar voorbeelden om de term ‘Testopstelling’ te begrijpen, liep parallel met een voorsprong op JUnit 4 levenscyclusannotaties zoals @Before, @After, @BeforeClass, @AfterClass en @Test.
Bekijk hier ALLE JUnit-handleidingen.
Wat je leert:
JUnit-testopstelling
Als er meerdere testgevallen zijn in een JUnit-klasse, kan er een gemeenschappelijk object of objecten zijn die door alle testgevallen worden gebruikt. In dit geval kunnen er specifieke functies zijn die in alle testcases voorkomen.
Dit betekent niet dat de testobjecten door alle testgevallen moeten worden gedeeld. De wijziging aan het object die in één test is aangebracht, hoeft niet voor alle tests te worden gedeeld, aangezien deze tests onafhankelijk zijn en mogelijk in een andere volgorde worden uitgevoerd volgens hun prioriteitsset.
hoe cross-site scripting te testen
Het holistische begrip van de term ‘Testopstelling’ is een vaste toestand in een code of een set vaste stappen in een code die als voorwaarde wordt gebruikt en enkele andere sets stappen die worden gebruikt als postconditie voor alle tests.
Met andere woorden, we identificeren die sets van uitspraken die voor alle tests zullen worden herhaald en proberen daarbij een vaste omgeving in te stellen waarin onze testmethoden kunnen worden uitgevoerd.
De doel van het gebruik van testopstelling is om de duplicatie van de gemeenschappelijke code voor alle testcases te elimineren.
hoe je een ddos-aanval verstuurt
Laten we proberen de praktische implementatie van de testopstelling in een JUnit-test te begrijpen.
setUp () methode
- Er zijn tests die initialisatie van bepaalde objecten vereisen (string, integer of ArrayList of een ander object). U kunt een methode maken openbare leegte setUp () waarin u de instantievariabelen voor de gemeenschappelijke objecten zou kunnen declareren. Plaats deze setUp () - methode onder de annotatie @Voordat Met de @Before-annotatie zal het framework de methode setUp () uitvoeren voordat elke testcase wordt uitgevoerd.
- De methode setUp () kan ook worden gebruikt als u een browser wilt starten met een specifieke URL. Als eerste stap voert u een testcase uit die volgt op het inloggen op de toepassing met vooraf gedefinieerde inloggegevens.
tearDown () methode
- Als u in een test externe bronnen hebt toegewezen, moet u eraan denken om ook de bronnen vrij te maken. De teardown () - methode zou kunnen worden toegevoegd voor het opschonen van de objecten nadat de uitvoering van de testcase is voltooid. Voeg een methode toe op dezelfde manier als de methode setUp () openbare leegte teardown () onder @Na annotatie. Het JUnit-framework zorgt ervoor dat nadat elke testcase is uitgevoerd, de methode onder @After zeker wordt uitgevoerd. De objecten die in de test worden gebruikt, moeten in de methode teardown () NULL worden ingesteld, zodat het afval van de tests wordt verzameld.
- Een andere goede kandidaat voor het opschonen van de objecten is het doden van een actieve browser nadat de testcase is voltooid en het geheugen vrijgeven door de gebruikte objecten te vernietigen.
- De methodenamen setUp () en tearDown () zijn slechts een door de gebruiker gedefinieerde naam. U kunt elke methode-naam instellen die u maar wilt. Het zijn alleen de annotaties die bij de methode worden gebruikt, die de volgorde van de uitgevoerde tests bepalen.
Voorbeelden van JUnit-testopstellingen
In dit gedeelte gaan we door twee voorbeelden van de JUnit 4-test en proberen we te begrijpen hoe we de benadering van testopstellingen in onze code kunnen gebruiken, samen met de opeenvolging van verschillende levenscyclusannotaties @Before, @After, @BeforeClass, @AfterClass, en @Test.
Natuurlijk komt er een aparte tutorial over annotaties waarin wordt uitgelegd wat deze zijn en hoe elk van de annotaties werkt. Laten we ons vanaf nu houden aan het begrip van het gebruik van de testopstelling in de code.
JUnit 4-test - Voorbeeld 1
In dit voorbeeld hebben we de testopstellingen in de klas met drie testcases. De setUp () methode met @Before annotation en tearDown () methode met de @After annotatie.
Code:
Het resulterende consolevenster ziet er als volgt uit:
Het consolevenster maakt het duidelijk dat vóór elke testrun de methode setUp () wordt uitgevoerd en dat nadat elke test is voltooid, de methode tearDown () wordt uitgevoerd.
De volgorde van uitvoering volgens de annotatie voor elke testmethode is dus:
- @Voordat
- @Test
- @Na
Onthoud dat de tests hier echter in opeenvolgende volgorde zijn uitgevoerd, d.w.z. test_JUnit1 (), test_JUnit2 (), test_JUnit3 (), er is geen reeks gedefinieerd voor de test, daarom kunnen ze in willekeurige volgorde worden uitgevoerd. Elke test is geïsoleerd van de andere test.
JUnit 4 Test - Voorbeeld 2
Laten we hier snel kijken hoe we een methode kunnen hebben die één keer voor de allereerste keer in een klas wordt uitgevoerd en een andere methode die één keer wordt uitgevoerd nadat alle tests voor de klas zijn uitgevoerd.
Code:
We hebben de methode preClass () toegevoegd onder @BeforeClass-annotatie. Deze methode wordt slechts één keer uitgevoerd voor een klasse voordat de test wordt uitgevoerd. Het draait zelfs voordat de methode onder @Before wordt uitgevoerd.
De postClass () - methode onder @AfterClass-annotatie wordt eenmaal aan het einde uitgevoerd wanneer alle tests, inclusief de test onder @After, zijn uitgevoerd en voltooid.
De volgorde van het proefdraaien is als volgt:
- @Voor klas
- @Voordat
- @Test
- @Na
- @Na de les
De methoden onder @BeforeClass en @AfterClass worden gewoonlijk gedeeld door de klasse, daarom als de methoden niet worden gedeclareerd als statisch dan geeft het een initialisatie fout bij uitvoering van de test.
hoe XML-bestand in browser te openen
Zie de onderstaande schermafbeelding, waar we de methode preClass () niet hebben ingesteld onder @BeforeClass-annotatie als statisch en daardoor heeft de test een fout gemaakt bij de uitvoering.
Mogelijk ziet u het resultaat met een initialisatiefout die kan worden geëlimineerd door de methode als statisch te markeren. Hetzelfde geldt voor de methode postClass () onder @AfterClass annotatie.
Gevolgtrekking
We hebben geprobeerd een context te schetsen voor de goede programmeringspraktijken die moeten worden gevolgd door de implementatie van het Testopstelling benadering en een basiskennis van het gebruik en de volgorde van uitvoering voor de annotaties van de levenscyclus.
In onze volgende tutorial leren we over de verschillende manieren om JUnit-tests uit te voeren in Eclipse. Blijf dus op de hoogte van de serie naarmate we verder komen met meer interessante aspecten van JUnit.
Kijk hier om AZ van JUnit-trainingshandleidingen hier te zien.
Aanbevolen literatuur
- JUnit-tests: hoe u JUnit-testcases schrijft met voorbeelden
- JUnit-zelfstudie voor beginners - Wat is JUnit-testen
- Python DateTime-zelfstudie met voorbeelden
- Java String bevat () Method Tutorial met voorbeelden
- C # Statement en C # Virtual Method Tutorial met voorbeelden gebruiken
- Inleiding tot JUnit Framework en het gebruik ervan in Selenium Script - Selenium Tutorial # 11
- Selenium Find Element By Text Tutorial met voorbeelden
- Zelfstudie over Java-array-lengte met codevoorbeelden