Delen via


Tests uitvoeren en fouten opsporen

Microsoft.Testing.Platform testprojecten zijn gemaakt als uitvoerbare bestanden die rechtstreeks kunnen worden uitgevoerd (of gedebugd kunnen worden). Er is geen extra testconsole of -opdracht. De app wordt afgesloten met een niet-nul-afsluitcode als er een fout is, wat gebruikelijk is voor de meeste uitvoerbare bestanden. Zie Microsoft.Testing.Platform-afsluitcodesvoor meer informatie over de bekende afsluitcodes.

Aanbeveling

U kunt een specifieke afsluitcode negeren met behulp van de --ignore-exit-code opdrachtregeloptie.

U kunt ook opdrachtregelopties instellen die van toepassing zijn op een specifieke test project in het project-bestand met behulp van de eigenschap TestingPlatformCommandLineArguments MSBuild. Een veelvoorkomende use-case is voor testprojecten waarvoor alle tests zijn genegeerd, die normaal gesproken worden afgesloten met afsluitcode 8 (de testsessie heeft nul tests uitgevoerd). In dit scenario kunt u het volgende toevoegen onder een PropertyGroup in uw project-bestand:

<TestingPlatformCommandLineArguments>$(TestingPlatformCommandLineArguments) --ignore-exit-code 8</TestingPlatformCommandLineArguments>

Belangrijk

Standaard verzamelt Microsoft.Testing.Platform telemetrie. Zie voor meer informatie en opties om u af te melden Microsoft.Testing.Platform telemetrie.

Het publiceren van de test project met behulp van dotnet publish en het rechtstreeks uitvoeren van de app is een andere manier om uw tests uit te voeren. Bijvoorbeeld ./Contoso.MyTests.exe uitvoeren. In sommige scenario's is het ook mogelijk om dotnet build te gebruiken om het uitvoerbare bestand te produceren, maar er kunnen edge-gevallen zijn om rekening mee te houden, zoals Native AOT.

Gebruik dotnet run

De opdracht dotnet run kan worden gebruikt om uw test-project te bouwen en uit te voeren. Dit is de eenvoudigste manier, hoewel soms de traagste, om uw tests uit te voeren. Het gebruik van dotnet run is praktisch wanneer u lokaal tests bewerkt en uitvoert, omdat deze ervoor zorgt dat de test project opnieuw wordt opgebouwd wanneer dat nodig is. dotnet run vindt het project ook automatisch in de huidige map.

dotnet run --project Contoso.MyTests

Voor meer informatie over dotnet run, zie dotnet run.

Gebruik dotnet exec

De opdracht dotnet exec of dotnet wordt gebruikt voor het uitvoeren (of uitvoeren) van een reeds gebouwde test project. Dit is een alternatief voor het rechtstreeks uitvoeren van de toepassing. dotnet exec vereist het pad naar de ingebouwde test project dll.

dotnet exec Contoso.MyTests.dll

or

dotnet Contoso.MyTests.dll

Opmerking

Als u het pad naar de uitvoerbare testprojectbestand (*.exe) opgeeft, treedt er een fout op:

Error:
  An assembly specified in the application dependencies manifest
  (Contoso.MyTests.deps.json) has already been found but with a different
  file extension:
    package: 'Contoso.MyTests', version: '1.0.0'
    path: 'Contoso.MyTests.dll'
    previously found assembly: 'S:\t\Contoso.MyTests\bin\Debug\net10.0\Contoso.MyTests.exe'

Voor meer informatie over dotnet exec, zie dotnet exec.

Gebruik dotnet test

Microsoft.Testing.Platform biedt een compatibiliteitslaag met vstest.console.exe en dotnet test die waarborgt dat u uw tests kunt uitvoeren zoals voorheen, terwijl u een nieuw uitvoeringsscenario mogelijk maakt.

dotnet test Contoso.MyTests.dll

Zie ook