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 IDE's (Integrated Development Environments).

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 testingvoor meer informatie over belastingstests 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 de tests uitvoert en fungeert als een communicatiekanaal met IDE's. Visual Studio kan bijvoorbeeld een detectieaanvraag verzenden naar het testplatform, zodat de beschikbare tests in Test Explorer kunnen worden weergegeven. Het testplatform reageert terug op de IDE met de gevonden tests. Vergelijkbare communicatie vindt plaats voor testuitvoering.

VSTest is al vele jaren gebruikt in .NET en was het enige testplatform in het ecosysteem. Begin 2024 werd de eerste stabiele versie van een nieuw testplatform, genaamd Microsoft.Testing.Platform (MTP), uitgebracht.

Frameworks testen

Het testframework is gebouwd 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 is de huidige productierelease 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:

TUnit

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- en communitygericht hulpprogramma voor eenheidstests voor .NET. De oorspronkelijke uitvinder van NUnit v2 schreef xUnit.net. xUnit.net is de nieuwste technologie voor het testen van .NET-apps voor eenheden. 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 .NET CLI- met de dotnet-testopdracht. De .NET CLI maakt de meeste functionaliteit beschikbaar die IDE's (Integrated Development Environments) beschikbaar maken via gebruikersinterfaces. De .NET CLI is platformoverschrijdend en beschikbaar voor gebruik als onderdeel van continue integratie- en leveringspijplijnen. 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 Inclusief en uitsluiten van tests met Visual Studiovoor meer informatie.

Zie ook

Zie de volgende artikelen voor meer informatie: