Dette er et utdrag fra Unit Testing Succinctly eBook, av Marc Clifton, gitt vennlig av Syncfusion.
NUnit ble opprinnelig portet fra JUnit som en open-source-testmaskin, som gir en rik pakke med testarmatur, metode og variable attributter, samt testkrav. Dokumentasjonen for alle versjoner av NUnit finner du her. NUnit er fortsatt opprettholdt. Den siste stabile utgivelsen på tidspunktet for denne skrivingen er versjon 2.6.2, utgitt 22. oktober 2012.
CSUnit er en lettere enhetstestmotor. Vær oppmerksom på at det ikke ser ut til å opprettholdes, da den siste utgivelsen var i mars 2009. Den tilbyr et minimalt men funksjonelt sett med attributter som skal brukes til å definere testarmaturer og testmetoder.
Visual Studio gir muligheten til å lage testprosjekter direkte i IDE. Et av problemene som forfatteren oppdaget er at brukergrensesnittet har endret seg mellom VS 2008 og VS 2012:
I VS2008 kjører testkjøringen veldig raskt og viser en lettlest liste over testresultater og, for mislykkede tester, feilmeldingen som gir informasjon om hvorfor testen feilet.
Også når testprosjektet er det aktive prosjektet, kjører testene (eller feilsøker dem) det samme som med en hvilken som helst annen applikasjon. Du kan kjøre dem med Ctrl + F5 (run) eller F5 (debug).
I VS2012 tar testløperen flere sekunder å initialisere. Verre blir meldingene knyttet til et testresultat oppnådd ved å klikke på feilen. Det ekstra klikkkravet er et betydelig bruksproblem. På grunn av endringene i hvordan feilene vises, har Visual Studio 2008 blitt brukt til skjermbilder gjennom hele denne boken.
Til slutt blir testløperen ikke lenger startet med de samme snarveiene som en vanlig applikasjon. I stedet må utvikleren bruke Ctrl + R, A til å kjøre testene. Det er ingen tastaturgenvei kortlagt for å feilsøke enhetstester.
Microsoft tilbyr integrasjonsverktøy for NUnit for både Visual Studio 2010 (http://visualstudiogallery.msdn.microsoft.com/c8164c71-0836-4471-80ce-633383031099) og 2012 (http://visualstudiogallery.msdn.microsoft.com/6ab922d0 -21c0-4f06-ab5f-4ecd1fe7175d), men på tidspunktet for denne skrivingen er Visual Studio 2012 NUnit-testadapteren en beta 3-2.
Det er noen andre testmotorer som er verdt å nevne her.
MSTest (http://msdn.microsoft.com/en-us/library/ms182489 er kommandolinjeversjonen av Microsofts testløper.
MbUnit og Gallio er nært beslektet. Gallio er en testautomatiseringsplattform som lar deg integrere en rekke testrammer og rapporteringsverktøy. Dette er et sofistikert verktøy som er verdt å utforske når du er kjent med testprinsipper og andre motorer.
Microsoft Test Manager er et verktøy for å planlegge, administrere og gjennomføre tester, enten manuelt eller automatisk. Microsoft Test Manager integrerer med feilsporing, gjør det mulig å skrive notater knyttet til testene dine, og lar deg konfigurere virtuelle laboratoriemaskiner som kan tilbakestilles til en kjent tilstand før tester kjøres.
FsUnit er en testmotor som letter arbeidet med F # -språket.
Enhetstesting er utformet for å validere korrektheten til beregningsenhetene. Integrasjonstesting er designet for å teste oppførselen til brukergrensesnittet.
For lesere kjent med Ruby, er NBehave en tidlig prototype av funksjoner som ligner på agurk i den som skriver oppførselstester. Testene er skrevet på naturlig språk, for eksempel (begge disse eksemplene kommer fra GitHub NBehave nettside):
Scenario: Logg inn Gitt Jeg er ikke logget inn Når jeg logger inn som Morgan med et passord SecretPassw0rd Da skal jeg se en melding, "Velkommen, Morgan!"
og metoder implementerer setningene (som selvfølgelig kan gjenbrukes):
[Gitt ("Jeg er ikke logget inn")] offentlig tomgang LogOut () ...
Husk at dette ikke er enhetstesting, men letter det et paradigme som kalles Behavior-Driven Development, og er nevnt her for å illustrere andre former for testing som komplement-enhetstesting.