spock interview questions with answers
Wis uw Spock-interview met succes met deze lijst met Spock-interviewvragen:
In deze Spock-zelfstudies voor iedereen , hebben we er alles over onderzocht Integratie en functioneel testen in Spock in onze vorige tutorial.
Deze tutorial behandelt de meest gestelde interviewvragen rond het Spock-framework.
We zullen ook proberen om Spock-opspanmethoden en ingebouwde uitbreidingsondersteuning te begrijpen, waardoor Spock een echt krachtig hulpmiddel is voor veel testtypen zoals Unit, Integration en end-to-end.
Meest populaire Spock-interviewvragen
Hieronder vindt u enkele van de meest gestelde Spock-interviewvragen met antwoorden en voorbeelden.
Laten we onderzoeken!!
V # 1) Kan een Spock-test meerdere wanneer en dan blokken hebben?
Antwoord: Het wordt over het algemeen aanbevolen om kleine tests of scenario's uit te voeren, omdat als u veel dingen in één test probeert, een codegeur kan zijn. Dat gezegd hebbende, is het volkomen geldig om meerdere wanneer en vervolgens blokken in een test te hebben. De test wordt pas als geslaagd beschouwd als alle blokken geslaagd zijn.
Laten we een voorbeeld bekijken om dit te illustreren:
In het bovenstaande codeblok kun je zien dat we 2 wanneer en dan blokken hebben.
hoe .jnlp-bestanden te openen in Windows 10
Let op onderstaande punten:
- De blokken worden uitgevoerd in de volgorde van hun verschijning, d.w.z. opeenvolgend.
- Als iemand vervolgens blokkeert, zal de test mislukken.
- Beweringen in alle toenmalige blokken zouden moeten slagen om de algehele test te laten slagen.
Vraag 2) Welke bevestigingsmethoden zijn beschikbaar in Spock?
Antwoord: Fixturemethoden zijn als callbacks die worden aangeroepen wanneer een bepaalde event hook wordt geactiveerd.
Spock leverde 4 testwedstrijden die worden geactiveerd tegen verschillende evenementen:
- setupSpec - Wordt eenmaal uitgevoerd voordat de volledige uitvoering van het Spec-bestand begint.
- cleanupSpec - Wordt één keer uitgevoerd als alle tests in het opgegeven Spec-bestand zijn uitgevoerd
- opstelling - Draait één keer voor elke test in de specificatie.
- opruimen - Draait eenmaal na elke test in de specificatie.
Laten we een codevoorbeeld bekijken om de opspanmethoden te illustreren:
Hieronder ziet u de uitvoer van het bovenstaande codevoorbeeld:
in setup specificatie!
in setup!
**** testspecificatie1 ****
in opruimen!
in setup!
**** testspecificatie2 ****
in opruimen!
in opruimspecificatie!
Zoals hierboven getoond, kunt u zien dat de setup- en opschoningsspecificaties slechts één keer worden aangeroepen voor de volledige specificatie en dat de setup- en opschoningsstappen / armaturen één keer per test worden aangeroepen.
V # 3) Kunnen Spock-tests worden gebruikt voor het testen van op REST gebaseerde services?
Antwoord: Ja, het Spock-framework kan worden gebruikt voor het maken van E2E- of integratietests voor geïmplementeerde rest-services met behulp van algemene Java-bibliotheken zoals Rest-sjabloon, enz. (Houd er ook rekening mee dat Spock ook kan worden gebruikt voor het uitvoeren van tests voor op Spring-boot gebaseerde applicaties met andere frameworks zoals Selenium
Laten we dit eens bekijken met een eenvoudig voorbeeld dat de RestTemplate-klasse van Spring gebruikt en een get-bewerking uitvoert op een openbaar gehoste API en controleert of het antwoord niet-nul is.
Voorbeeld:
In het bovenstaande voorbeeld kunt u verwijzen naar de Spock-specificatie die wordt gebruikt om de reactie van een openbare API te bevestigen.
V # 4) Wat zijn de beperkingen van het Spock-framework?
Antwoord: Hoewel de leercurve voor het Spock-framework niet zo steil is als gemakkelijk te leren, maakt de declaratieve syntaxis het zeer leesbaar.
Ondertussen zijn er een paar punten die kunnen worden overwogen:
- Voor applicaties op Java-codebase zal het gebruik van Spock resulteren in het toevoegen van een nieuwe taalstapel, d.w.z. Groovy.
- Spock-tests werken iets langzamer dan native JUnit-tests.
- IDE-ondersteuning voor Spock is niet zo goed als voor andere frameworks zoals JUnit.
Ondanks alle bovenstaande punten wegen de voordelen van het Spock-framework nog steeds op tegen de kleine lijst met nadelen die Spock heeft.
V # 5) Verklaar enkele van de ingebouwde uitbreidingen van het Spock-framework.
Antwoord: Spock biedt veel ingebouwde extensies / hooks / triggers die meestal op annotaties zijn gebaseerd (we hebben er een paar gezien in de sectie / vraag over testopstellingen).
Laten we eens kijken naar de ingebouwde discussie met voorbeelden:
@Negeren: Om te voorkomen dat een functie (of individuele methode) wordt uitgevoerd. Om de simpele decoratiemethode (individuele testmethode) of een volledige specificatie te gebruiken, zorgt dit ervoor dat de geannoteerde methode of klasse niet wordt uitgevoerd.
@IgnoreRest: Deze annotatie is handig als u er slechts één wilt selecteren en de rest van de methoden van de opgegeven specificatie wilt uitvoeren.
Zoals te zien is in het bovenstaande voorbeeld, wordt de methode geannoteerd met @IgnoreRest uitgevoerd en wordt de rest van de tests genegeerd.
@IgnoreIf: Deze annotatie is een voorwaardelijk negeren.
Bijvoorbeeld: Als u sommige tests niet op Mac OS wilt uitvoeren, kunt u een combinatie van @IgnoreIf met System.getProperty ('os.name') gebruiken om ervoor te zorgen dat de tests alleen worden uitgevoerd als het overeenkomende besturingssysteem wordt gevonden .
Laten we dit proberen te begrijpen met het onderstaande codevoorbeeld:
In het bovenstaande codevoorbeeld hebben we @IgnoreIf-annotatie gebruikt met een voorwaarde op System.getProperty die controleert op 'Mac' in de eigenschapswaarde en alleen negeert als de overeenkomst met de voorwaarde is geslaagd.
Laten we hier nog een extensie bekijken, d.w.z. @Time-out: Dit helpt om een time-outwaarde te vermelden in de eenheid van uw keuze voor de test die wordt uitgevoerd en als de time-outdrempel wordt overschreden, genereert de test een uitzondering.
Een ander belangrijk punt om op te merken is dat de @Timeout-annotatie ook over de volledige specificatie kan worden vermeld en dit zal de duur van alle individuele tests combineren en een uitzondering werpen in geval van drempeloverschrijding.
Als in de bovenstaande code de totale uitvoeringstijd van de specificatie langer is dan 10 ms, zal de uitvoering van het scenario mislukken. U kunt de uitvoer met foutdetails zien in de foutconsole.
Net als bij de bovengenoemde extensies, zijn er ook een aantal andere ingebouwde extensies, zoals:
@Vereist: Wat een specifieke voorwaarde vereist om waar te zijn.
@Kwestie: Om eventuele defecten te koppelen die verband houden met de testcase, enz.
Deze uitbreidingen voegen veel flexibiliteit en kracht toe aan Spock-specificaties en geven veel controle over de testuitvoering.
Gevolgtrekking
Daarom hebben we hier in deze tutorial de meest populaire Spock-interviewvragen behandeld. De leercurve voor Spock is laag vanwege het feit dat de taal groovy een declaratieve programmeerstijl volgt en zeer leesbaar is.
Hoewel relatief nieuw, wint Spock aan populariteit als een voorkeurskader voor het schrijven van verschillende soorten tests Java of Groovy-gebaseerde applicaties.
Hoop, je hebt genoten van alle informatieve tutorials in deze Spock-serie. We zijn er inderdaad zeker van dat deze tutorials uw kennis en begrip van Spock zouden hebben verrijkt.
PREV-zelfstudie EERSTE Tutorial
Aanbevolen literatuur
- Unit-tests schrijven met Spock Framework
- Spock voor integratie en functioneel testen met selenium
- Spock Mocking and Stubbing (voorbeelden met videotutorials)
- Datagestuurd of geparametriseerd testen met Spock Framework
- Spock-zelfstudie: testen met Spock en Groovy
- Interview vragen en antwoorden
- Vragen en antwoorden over ETL-tests
- 20 meest populaire TestNG interviewvragen en antwoorden