Tesztek futtatása és hibakeresése

Az MTP tesztprojektek futtatható fájlokként készülnek, amelyek közvetlenül futtathatók (vagy hibakeresési módban futtathatók). Nincs extra tesztfuttató konzol vagy parancs. Ha hiba történik, az alkalmazás nem aero kilépési kóddal lép ki, ami a legtöbb végrehajtható fájlra jellemző. Az ismert kilépési kódokról további információt az MTP kilépési kódjaiban talál.

Jótanács

A parancssori beállítással figyelmen kívül hagyhat egy adott --ignore-exit-code.

A project fájl egy adott teszt project vonatkozó parancssori beállításait is beállíthatja az TestingPlatformCommandLineArguments MSBuild tulajdonság használatával. Az egyik gyakori használati eset az olyan tesztprojektek esetében, amelyek minden tesztet figyelmen kívül hagynak, és amelyek általában a 8- es kilépési kóddal lépnek ki (a tesztmunkamenet nulla tesztet futtatott). Ebben a forgatókönyvben a következőket adhatja hozzá egy PropertyGroup elem alá a projektfájlban:

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

Fontos

Alapértelmezés szerint az MTP telemetriát gyűjt. Az elutasítással kapcsolatos további információkért és lehetőségekért tekintse meg az MTP-telemetria című témakört.

Megjegyzés:

Az MTP-ben a 2.3.0-s verziótól kezdve érhető el.

Ha kecses leállítást szeretne, nyomja le egyszer a CtrlC+ a lemondás kéréséhez. A tesztek futtatása befejezheti a leállítási folyamatot. Azonnali leállításhoz nyomja le ismét a CtrlC+.

A teszt project dotnet publish használatával való közzététele és az alkalmazás közvetlen futtatása a tesztek futtatásának másik módja. Például a ./Contoso.MyTests.exe végrehajtása. Bizonyos esetekben a végrehajtható fájl létrehozásához dotnet build is használható, de vannak olyan szélsőséges esetek is, amelyeket érdemes megfontolni, például a natív AOT.

Használja a dotnet run-t

A dotnet run parancsot használva létrehozhatja és futtathatja a tesztprojektet. Ez a legegyszerűbb, bár néha leglassabb módszer a tesztek futtatására. A dotnet run használata gyakorlatias, ha helyileg szerkeszti és futtatja a teszteket, mivel biztosítja, hogy a teszt project szükség esetén újraépüljön. dotnet run automatikusan megkeresi a project az aktuális mappában.

dotnet run --project Contoso.MyTests

A dotnet run-ról további információért lásd: dotnet run.

Használja a dotnet exec-t

A dotnet exec vagy dotnet parancs egy már létrehozott teszt project végrehajtására (vagy futtatására) szolgál, ez alternatíva az alkalmazás közvetlen futtatására. dotnet exec a beépített tesztelési project dll elérési útját igényli.

dotnet exec Contoso.MyTests.dll

vagy

dotnet Contoso.MyTests.dll

Megjegyzés:

A végrehajtható project teszt elérési útjának (*.exe) megadása hibát eredményez:

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'

További információ a dotnet exec-ról: lásd dotnet exec.

Használja a dotnet test-t

A .NET 10 SDK-tól dotnet test kezdve dedikált MTP-móddal rendelkezik. Válassza az MTP-t a global.json használatával, vagy használja a DOTNET_TEST_RUNNER környezeti változót a .NET 11 Preview 6 vagy újabb verziójával. A dedikált mód projekteket, megoldásokat, beépített tesztmodulokat és további bemeneti típusokat támogat az újabb SDK-verziókban.

dotnet test --test-modules Contoso.MyTests.dll

A futtatók kiválasztásáról és a VSTest-kompatibilis módból való migrálásról itt olvashat: Tesztelés a következővel: dotnet test.

Lásd még