Testa i .NET

Den här artikeln introducerar begreppet testning och illustrerar hur olika typer av tester kan användas för att validera kod. Det finns olika verktyg för testning av .NET-program, till exempel .NET CLI eller IDE:er (Integrated Development Environments).

Testtyper

Att ha automatiserade tester är ett bra sätt att se till att programkoden gör vad författarna avser att göra. Den här artikeln beskriver enhetstester, integreringstester och belastningstester.

Enhetstester

Ett enhetstest är ett test som utför enskilda programvarukomponenter eller metoder, även kallat "arbetsenhet". Enhetstester bör endast testa kod inom utvecklarens kontroll. De testar inte infrastrukturproblem. Infrastrukturproblem omfattar interaktion med databaser, filsystem och nätverksresurser.

Mer information om hur du skapar enhetstester finns i Testverktyg.

Integreringstester

Ett integreringstest skiljer sig från ett enhetstest eftersom det har två eller flera programvarukomponenters förmåga att fungera tillsammans, även kallat deras "integrering". Dessa tester körs på ett bredare spektrum av systemet som testas, medan enhetstester fokuserar på enskilda komponenter. Integreringstester omfattar ofta infrastrukturproblem.

Belastningstester

Ett belastningstest syftar till att avgöra om ett system kan hantera en angiven belastning, till exempel antalet samtidiga användare som använder ett program och appens förmåga att hantera interaktioner dynamiskt. Mer information om belastningstestning av webbprogram finns i ASP.NET Core belastnings-/stresstestning.

Testöverväganden

Tänk på att det finns metodtips för att skriva tester. Till exempel är testdriven utveckling (TDD) när ett enhetstest skrivs före koden som det är tänkt att kontrollera. TDD är som att skapa en disposition för en bok innan du skriver den. Den är avsedd att hjälpa utvecklare att skriva enklare, mer läsbar och effektiv kod.

Testverktyg

.NET är en utvecklingsplattform för flera språk och du kan skriva olika testtyper för C#, F# och Visual Basic. För vart och ett av dessa språk kan du välja mellan flera testramverk.

xUnit

xUnit är ett kostnadsfritt, öppen källkod, communityfokuserat enhetstestverktyg för .NET. Skriven av den ursprungliga uppfinnaren av NUnit v2, xUnit.net är den senaste tekniken för enhetstestning av .NET-appar. xUnit.net fungerar med ReSharper, CodeRush, TestDriven.NET och Xamarin. Det är ett projekt av .NET Foundation och fungerar enligt deras uppförandekod.

Mer information finns i följande resurser:

Nunit

NUnit är ett ramverk för enhetstestning för alla .NET-språk. Den aktuella produktionsversionen, som ursprungligen porterats från JUnit, har skrivits om med många nya funktioner och stöd för en mängd olika .NET-plattformar. Det är ett projekt av .NET Foundation.

Mer information finns i följande resurser:

MSTest

MSTest är Microsofts testramverk för alla .NET-språk. Den är utökningsbar och fungerar med både .NET CLI och Visual Studio. Mer information finns i följande resurser:

.NET CLI

Du kan köra enhetstester för lösningar från .NET CLI med testkommandot dotnet . .NET CLI exponerar en majoritet av de funktioner som IDE:er (Integrated Development Environments) gör tillgängliga via användargränssnitt. .NET CLI är plattformsoberoende och kan användas som en del av pipelines för kontinuerlig integrering och leverans. .NET CLI används med skriptprocesser för att automatisera vanliga uppgifter.

IDE

Oavsett om du använder Visual Studio, Visual Studio för Mac eller Visual Studio Code finns det grafiska användargränssnitt för testningsfunktioner. Det finns fler tillgängliga funktioner för IDE:er än CLI, till exempel testning av liveenheter. Mer information finns i Inkludera och exkludering av tester med Visual Studio.

Se även

Mer information finns i följande artiklar: