Delen via


Testen in .NET

In dit artikel wordt het concept van testen geïntroduceerd en wordt uitgelegd hoe verschillende soorten tests kunnen worden gebruikt om code te valideren. Er zijn verschillende hulpprogramma's beschikbaar voor het testen van .NET toepassingen, zoals de .NET CLI of Integrated Development Environments (IDE's).

Testtypen

Geautomatiseerde tests zijn een uitstekende manier om ervoor te zorgen dat de toepassingscode doet wat de auteurs willen. In dit artikel worden eenheidstests, integratietests en belastingstests behandeld.

Eenheidstests

Een eenheidstest is een test die afzonderlijke softwareonderdelen of -methoden uitvoert, ook wel een 'werkeenheid' genoemd. Eenheidstests mogen alleen code testen binnen het besturingselement van de ontwikkelaar. Ze testen geen problemen met infrastructuur. Infrastructuurproblemen omvatten interactie met databases, bestandssystemen en netwerkbronnen.

Zie Testhulpprogramma'svoor meer informatie over het maken van eenheidstests.

Integratietests

Een integratietest verschilt van een eenheidstest omdat twee of meer softwareonderdelen de mogelijkheid hebben om samen te werken, ook wel 'integratie' genoemd. Deze tests worden uitgevoerd op een breder spectrum van het systeem dat wordt getest, terwijl eenheidstests zich richten op afzonderlijke onderdelen. Integratietests omvatten vaak problemen met infrastructuur.

Loadtesten

Een belastingstest wil bepalen of een systeem een opgegeven belasting kan verwerken. Bijvoorbeeld het aantal gelijktijdige gebruikers dat een toepassing gebruikt en de mogelijkheid van de app om interacties responsief te verwerken. Zie ASP.NET Core load/stress testing voor meer informatie over het testen van belasting van webtoepassingen.

Testoverwegingen

Houd er rekening mee dat er beste werkwijzen zijn voor het schrijven van tests. Bijvoorbeeld Test Driven Development (TDD) is wanneer je eerst een unit test schrijft voordat de code wordt geschreven die daarmee moet worden gecontroleerd. TDD lijkt op het maken van een overzicht voor een boek voordat u het schrijft. Met de eenheidstest kunnen ontwikkelaars eenvoudigere, leesbare en efficiënte code schrijven.

Testhulpmiddelen

Bij het uitvoeren van tests in .NET zijn er twee onderdelen betrokken: het testplatform en het testframework.

Testplatforms

Het testplatform is de engine die tests uitvoert en communiceert met hulpprogramma's zoals IDE's en CLI.

Gebruik het overzicht van testplatforms om inzicht te hebben in de verschillen tussen VSTest en Microsoft.Testing.Platform en kies het beste platform voor uw scenario.

Zie Migreren van VSTest naar Microsoft.Testing.Platform voor migratierichtlijnen.

Frameworks testen

Het testframework is gebaseerd op het testplatform. Hiermee definieert u de set kenmerken en API's die voor u beschikbaar zijn, als testauteur. Het wordt meestal aangedreven door een testadapter, die fungeert als een communicatielaag tussen het testframework en het testplatform. De populaire testframeworks zijn MSTest, NUnit, TUnit en xUnit.net.

MSTest

MSTest is het Microsoft-testframework voor alle .NET talen. Het is uitbreidbaar en werkt met .NET CLI, Visual Studio, Visual Studio Code en Rider. Het ondersteunt zowel VSTest als Microsoft.Testing.Platform.

Zie de volgende bronnen voor meer informatie:

NUnit

NUnit is een framework voor eenheidstests voor alle .NET talen. In eerste instantie werd NUnit overgezet vanuit JUnit en de huidige productierelease is herschreven met veel nieuwe functies en ondersteuning voor een breed scala aan .NET platforms. Het is een project van de .NET Foundation. Het ondersteunt zowel VSTest als Microsoft.Testing.Platform.

Zie de volgende bronnen voor meer informatie:

Eenheid

TUnit is volledig gebouwd op Microsoft.Testing.Platform en biedt geen ondersteuning voor VSTest. Raadpleeg de documentatie van TUnit voor meer informatie.

xUnit.net

xUnit.net is een gratis, opensource,communitygericht hulpprogramma voor het testen van eenheden voor .NET. De oorspronkelijke uitvinder van NUnit v2 schreef xUnit.net. xUnit.net is de nieuwste technologie voor het testen van eenheden .NET apps. Het werkt ook met ReSharper, CodeRush en TestDriven.NET. xUnit.net is een project van de .NET Foundation en werkt onder haar gedragscode. Het ondersteunt zowel VSTest als Microsoft.Testing.Platform

Zie de volgende bronnen voor meer informatie:

Tests uitvoeren

.NET CLI

U kunt eenheidstests uitvoeren vanuit alle testprojecten in een oplossing met behulp van de opdracht .NET CLI met de opdracht dotnet test. De .NET CLI maakt de meeste functionaliteit beschikbaar die Integrated Development Environments (IDE's) beschikbaar maken via gebruikersinterfaces. De .NET CLI is platformoverschrijdend en beschikbaar voor gebruik als onderdeel van continue integratie en levering pipelines. De .NET CLI wordt gebruikt met scriptprocessen om algemene taken te automatiseren.

IDE

Of u nu Visual Studio, Visual Studio Code of Rider gebruikt, er zijn grafische gebruikersinterfaces voor het testen van functionaliteit. Er zijn meer functies beschikbaar voor IDE's dan voor de CLI, bijvoorbeeld Live Unit Testing. Zie Testen inclusief en exclusief met Visual Studio voor meer informatie.

Zie ook

Zie de volgende artikelen voor meer informatie: