luzzattigramsci.it

  

Bästa artiklarna:

  
Main / Enhetstestnamn ges då då exempel

Enhetstestnamn ges då då exempel

Ange din e-postadress för att prenumerera på den här bloggen och få meddelanden om nya inlägg via e-post. Skriv upp mig! Engelska är inte mitt modersmål och jag är säker på att det finns misstag på min blogg.

Om du märker något, vänligen meddela mig via e-post eller kommentarer för att förbättra min engelska och göra mina inlägg skrivna bättre. Tomasz Dziurko Xebia. Men när jag genomför min testutbildning ser jag tydligt att kunskap om vissa verktyg ofta inte är huvudproblemet. Även med Spock är det möjligt att skriva uppblåst och svårt att underhålla test, bryta eller inte vara medveten om god praxis i samband med att skriva enhetstester.

Därför bestämde jag mig för att skriva om mer grundläggande saker för att främja dem och förresten har en redo att använda material som referens när jag coachar mindre erfarna kollegor. Välskrivna enhetstest bör uppfylla flera krav och det är ett ämne för hela serien. I det här blogginlägget skulle jag vilja presentera ett ganska moget koncept att dela ett enhetstest på 3 separata block med en strikt definierad funktion som i sin tur är en delmängd av beteendriven utveckling.

Enhetstester är vanligtvis inriktade på att testa specifikt beteende hos en viss enhet, vanligtvis en given klass. Därför bör prestanda inte vara ett problem. För att visa reglerna kommer jag att använda ett litet exempel. ShipDictionary är en klass som ger möjlighet att söka i rymdskepp baserat på särskilda kriterier efter en del av ett namn, ett produktionsår etc.

Ordboken drivs av olika index över fartyg som är i drift, dras tillbaka från tjänst, i produktion etc. I det specifika testet testas en förmåga att söka fartyg med en del av dess namn. Det kan göras på ett mer formellt sätt e. Med den kunskapen borde det vara ganska enkelt att bestämma tre viktiga saker som är separata sektioner som hela testet kommer att bestå av.

I det första avsnittet - kallat givet - för ett enhetstest krävs det att skapa en verklig objektinstans där den testade operationen kommer att utföras. I fokuserade enhetstester finns det bara en klass i vilken logiken som ska testas placeras. Alla medarbetare måste också injiceras i objektet som testas, vilket vanligtvis kombineras med att objektet skapas, eftersom en konstruktionsinjektion bör vara en föredragen teknik för beroendeinjektion.

I avsnittet när utförs en operation som ska testas. I vårt fall är det en sökbegäran följt av resultatlagring i en variabel för ytterligare påstående. I de flesta fall är det bra att bara ha en operation i det avsnittet.

Fler element kan föreslå ett försök att testa mer än en operation som eventuellt kan delas in i fler tester. Ansvaret för det sista avsnittet - då - är mestadels ett påstående om det tidigare mottagna resultatet. Det ska vara lika med det förväntade värdet. Dessutom kan det vara nödvändigt att utföra en verifiering av metodkörningar på deklarerade mocks.

Det bör inte vara en vanlig praxis, eftersom ett påstående om mottaget värde i de flesta fall är tillräckligt för att bekräfta att koden som testas fungerar som förväntat enligt angivna gränser. Icke desto mindre krävs det särskilt för att testa ogiltiga metoder att verifiera att en viss metod utfördes med förväntade argument.

En alternativ testdelningssyntax med mycket liknande betydelse för avsnitten är arrangera-agera-assert ofta förkortad till AAA eller 3A. Processen med att matcha använda verktyg och metoder till pågående process för förvärv av färdigheter aka Dreyfus-modellen har beskrivits snyggt i boken Pragmatic Thinking and Learning: Refactor Your Wetware.

Detsamma kan gälla när och sedan sektioner som kan slås ihop till en förväntad sektion, särskilt i parametrerade tester. Med lite erfarenhet och flyt i att skriva enhetstester är det helt giltigt att använda stenografi och optimeringar, särskilt testning av vissa icke-triviala fall. Så länge hela teamet förstår konventionen och kan komma ihåg grundläggande antaganden om att skriva bra enhetstester. Baserat på min erfarenhet av mjukvaruutveckling och som tränare ser jag tydligt att delning av enhetstester i sektioner gör dem kortare och mer läsbara, särskilt med mindre erfarna människor i teamet.

Avslutningsvis, särskilt för personer som bara läser de första och sista avsnitten i artikeln, är här kondenserade regler att följa :. Det är bra att ha en testmall inställd i din IDE för att säkra ett antal tangenttryckningar som krävs för att skriva varje test.

Jag tyckte att den här artikeln var användbar. Du kan låta mig veta för att motivera mig att skriva mer om grunderna för enhetstest i framtiden. Bildkrediter: Tomas Sobek, Openclipart, https: Självkampanj. Jag genomför en kondenserad enhetstestutbildning som du kanske tycker är användbar.

Du kommenterar med din WordPress. Du kommenterar med ditt Google-konto. Du kommenterar med ditt Twitter-konto. Du kommenterar med ditt Facebook-konto. Meddela mig om nya kommentarer via e-post. Meddela mig om nya inlägg via e-post. Solid Soft Working-kod räcker inte. Håll dig uppdaterad via RSS. En entusiast av reaktiva system och brett definierad samtidighet. Dessutom öppen källkod författare och bidragsgivare, en stolt Linux-användare.

Bor i Warszawa, Polen. Skapa bättre definierade, kortare och underhållbara enhetstester med givna när-då-sektioner. Inledning Välskrivna enhetstest bör uppfylla flera krav och det är ett ämne för hela serien. Provtest För att visa reglerna kommer jag att använda ett litet exempel. Sammanfattning Baserat på min erfarenhet av mjukvaruutveckling och som tränare ser jag tydligt att delning av enhetstester i sektioner gör dem kortare och mer läsbara, särskilt med mindre erfarna människor i teamet.

Avslutningsvis, särskilt för personer som bara läser de första och sista avsnitten i artikeln, är här kondenserade regler att följa: Dela detta: Gilla det här: Gilla Laddar ... Java Web Weekly, nummer 177 Baeldung säger: Lämna ett svar Avbryt svar Ange din kommentar här ... Fyll i dina uppgifter nedan eller klicka på en ikon för att logga in: E-post krävs Adress aldrig offentliggjord. Namn (krävs. Blogg på WordPress. Skicka för att avbryta.

Inlägget skickades inte - kolla dina e-postadresser! Tyvärr kan din blogg inte dela inlägg via e-post. Denna webbplats använder cookies. Genom att fortsätta använda denna webbplats godkänner du deras användning. För att ta reda på mer, inklusive hur du kontrollerar cookies, se här: Cookiepolicy.

(с) 2019 luzzattigramsci.it