Köra och felsöka tester

MTP-testprojekt skapas som körbara filer som kan köras direkt (eller felsökas). Det finns ingen extra testkonsol eller extra kommando. Appen avslutas med en annan kod än noll i händelse av fel, vilket är typiskt för de flesta körbara filer. Mer information om kända slutkoder finns i MTP-slutkoder.

Tips/Råd

Du kan ignorera en specifik slutkod med hjälp av kommandoradsalternativet --ignore-exit-code.

Du kan också ange kommandoradsalternativ som gäller för ett visst test project i filen project med egenskapen TestingPlatformCommandLineArguments MSBuild. Ett vanligt användningsfall är för testprojekt som har alla tester ignorerade, som normalt avslutas med slutkod 8 (testsessionen körde noll tester). I det här scenariot kan du lägga till följande under en PropertyGroup i din project-fil:

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

Viktigt!

Som standardinställning samlar MTP in telemetri. Mer information och alternativ för att välja bort finns i MTP-telemetri.

Att publisera testprojektet med dotnet publish och köra appen direkt är ett annat sätt att köra dina tester. Exekvera till exempel ./Contoso.MyTests.exe. I vissa scenarier är det också möjligt att använda dotnet build för att skapa den körbara filen, men det kan finnas gränsfall att överväga, till exempel Native AOT.

Använd dotnet run

Kommandot dotnet run kan användas för att skapa och köra test project. Det här är det enklaste, men ibland långsammaste, sättet att köra dina tester. Det är praktiskt att använda dotnet run när du redigerar och kör tester lokalt, eftersom det säkerställer att testprojektet återskapas när det behövs. dotnet run hittar också automatiskt project i den aktuella mappen.

dotnet run --project Contoso.MyTests

Mer information om dotnet runfinns i dotnet run.

Använd dotnet exec

Kommandot dotnet exec eller dotnet används för att köra (eller köra) ett redan byggt test project. Detta är ett alternativ till att köra programmet direkt. dotnet exec kräver sökvägen till den byggda testprojekt-dll:n.

dotnet exec Contoso.MyTests.dll

eller

dotnet Contoso.MyTests.dll

Anmärkning

Om du anger sökvägen till testprojektets körbara fil (*.exe) leder det till ett felmeddelande:

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'

Mer information om dotnet execfinns i dotnet exec.

Använd dotnet test

MTP erbjuder ett kompatibilitetslager med vstest.console.exe och dotnet test säkerställer att du kan köra dina tester som tidigare när du aktiverar ett nytt körningsscenario.

dotnet test Contoso.MyTests.dll

Se även