Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A cikk a következőre vonatkozik: ✔️ .NET 10 SDK-s és újabb verzió
Név
dotnet test – .NET MTP-vel végzett egységtesztek végrehajtásához használt tesztillesztő.
Áttekintés
dotnet test
[--project <PROJECT_PATH>]
[--solution <SOLUTION_PATH>]
[--test-modules <EXPRESSION>]
[--root-directory <ROOT_PATH>]
[--max-parallel-test-modules <NUMBER>]
[--config-file <CONFIG_FILE>]
[--results-directory <RESULTS_DIRECTORY>]
[--diagnostic-output-directory <DIAGNOSTIC_OUTPUT_DIRECTORY>]
[--minimum-expected-tests <NUMBER>]
[-a|--arch <ARCHITECTURE>]
[-c|--configuration <CONFIGURATION>]
[-f|--framework <FRAMEWORK>]
[--os <OS>]
[-r|--runtime <RUNTIME_IDENTIFIER>]
[-v|--verbosity <LEVEL>]
[--no-build]
[--no-restore]
[--no-ansi]
[--no-progress]
[--output <VERBOSITY_LEVEL>]
[--no-launch-profile]
[--no-launch-profile-arguments]
[<args>...]
dotnet test -h|--help
Description
Az MTP-vel gyorsabban működik, dotnet test mint a VSTesttel. A teszthez kapcsolódó argumentumok már nem rögzítettek, mivel a teszt project(ok) regisztrált bővítményeihez vannak kötve. Emellett az MTP támogatja a borús szűrőt a tesztek futtatásakor. További információ: MTP.
Figyelmeztetés
Ha az MTP-n keresztül global.jsoncsatlakozik, dotnet test az összes tesztprojekt az MTP használatára számít. Hiba, ha bármelyik tesztprojekt VSTestet használ.
Implicit visszaállítás
Nem kell futtatnia dotnet restore, mert az összes olyan parancs implicit módon fut, amely visszaállítást igényel, például dotnet new, dotnet build, dotnet run, dotnet test, dotnet publishés dotnet pack. Az implicit visszaállítás letiltásához használja a --no-restore lehetőséget.
A dotnet restore parancs még mindig hasznos bizonyos esetekben, amikor a explicit visszaállításnak van értelme, például folyamatos integrációs buildek Azure DevOps Services vagy olyan buildrendszerekben, amelyeknek explicit módon kell szabályozni a visszaállítást.
További információ a NuGet-hírcsatornák kezeléséről: dotnet restore dokumentáció.
Beállítások
Megjegyzés:
Egyszerre csak az alábbi lehetőségek egyikét használhatja: --project, --solution vagy --test-modules. Ezek a beállítások nem kombinálhatók.
Emellett --test-moduleshasználatakor nem adható meg --arch, --configuration, --framework, --osvagy --runtime. Ezek a beállítások nem relevánsak egy már elkészített modul esetében.
--project <PROJECT_PATH>Megadja a futtatni kívánt project fájl elérési útját (mappanév vagy teljes elérési út). Ha nincs megadva, alapértelmezés szerint az aktuális könyvtár lesz.
--solution <SOLUTION_PATH>Megadja a futtatandó megoldásfájl elérési útját (mappanév vagy teljes elérési út). Ha nincs megadva, alapértelmezés szerint az aktuális könyvtár lesz.
--test-modules <EXPRESSION>Szűri a tesztmodulokat fájlküldő használatával. Csak az adott tesztmodulokhoz tartozó tesztek futnak.
--root-directory <ROOT_PATH>A
--test-modulesbeállítás gyökérkönyvtárát adja meg. Csak a--test-modulesbeállítással használható.--max-parallel-test-modules <NUMBER>Meghatározza a párhuzamosan futtatható tesztmodulok maximális számát. Az alapértelmezett érték a Environment.ProcessorCount.
--config-file <CONFIG_FILE>Megadja a tesztvégrehajtáshoz használandó konfigurációs fájlt. Ha a relatív elérési út meg van adva, a rendszer az aktuális könyvtár alapján abszolút elérési útra alakítja át. A konfigurációs fájl beállításairól további információt a testconfig.jsoncímű témakörben talál.
--results-directory <RESULTS_DIRECTORY>A teszteredmények tárolására szolgáló könyvtárat adja meg. Ha a könyvtár nem létezik, létrejön. Ha a relatív elérési út meg van adva, a rendszer az aktuális könyvtár alapján abszolút elérési útra alakítja át.
--diagnostic-output-directory <DIAGNOSTIC_OUTPUT_DIRECTORY>A diagnosztikai kimenet tárolására szolgáló könyvtárat adja meg. Ha a könyvtár nem létezik, létrejön. Ha a relatív elérési út meg van adva, a rendszer az aktuális könyvtár alapján abszolút elérési útra alakítja át.
--minimum-expected-tests <NUMBER>Meghatározza a végrehajtandó tesztek minimális számát. Ha a tesztek tényleges száma kisebb a megadott minimálisnál, a tesztfuttatás a 9-es kilépési kóddal meghiúsul. A kilépési kódokról további információt az MTP kilépési kódjaiban talál.
-
-a|--arch <ARCHITECTURE>A célarchitektúra megadása. Ez a rövidített szintaxis a futtatókörnyezet-azonosító (RID)beállítására szolgál, ahol a megadott érték az alapértelmezett RID-vel van kombinálva. Egy
win-x64gépen például a--arch x86megadásával a RIDwin-x86lesz. Ha ezt a lehetőséget használja, ne használja a-r|--runtimelehetőséget. .NET 7. előzetes verzió óta érhető el. -
-c|--configuration <CONFIGURATION>Meghatározza a buildkonfigurációt. A legtöbb projekt alapértelmezett értéke
Debug, de felülbírálhatja a buildkonfigurációs beállításokat a project. -f|--framework <FRAMEWORK>A cél-keretrendszer cél-keretrendszer-monikerje (TFM) a tesztek futtatásához. A cél keretrendszert a project fájlban is meg kell adni.
-
--os <OS>A cél operációs rendszer (OS) megadása. Ez a rövidített szintaxis a futtatókörnyezet-azonosító (RID)beállítására szolgál, ahol a megadott érték az alapértelmezett RID-vel van kombinálva. Egy
win-x64gépen például a--os linuxmegadásával a RIDlinux-x64lesz. Ha ezt a lehetőséget használja, ne használja a-r|--runtimelehetőséget. 6 .NET óta érhető el. -r|--runtime <RUNTIME_IDENTIFIER>A tesztelni kívánt futtatókörnyezet.
Rövid
-r.NET SDK 7-től kezdve érhető el.Megjegyzés:
A globális
RuntimeIdentifier(explicit vagy via--arch,--runtimevagy--os) tulajdonsággal rendelkező megoldások tesztjeinek futtatása nem támogatott. ARuntimeIdentifierbeállítása egyéni project szinten.-
-v|--verbosity <LEVEL>A parancs részletességi szintjét állítja be. Az engedélyezett értékek a következők
q[uiet]: ,m[inimal],n[ormal]d[etailed]ésdiag[nostic]. További információért lásd LoggerVerbosity. --no-buildAzt adja meg, hogy a teszt project nem készült el a futtatás előtt. Implicit módon beállítja a
--no-restorejelzőt is.--no-restoreMegadja, hogy a parancs futtatásakor az implicit visszaállítás nem lesz végrehajtva.
--no-ansiLetiltja az ANSI-feloldó karakterek képernyőre történő kimenetét.
--no-progressLetiltja a jelentéskészítési folyamatot a képernyőn.
--output <VERBOSITY_LEVEL>A kimeneti részletességet adja meg a tesztek jelentésekor. Az érvényes értékek a következők:
NormalésDetailed. Az alapértelmezett érték aNormal.--no-launch-profileNe próbálja meg launchSettings.json használni az alkalmazás konfigurálásához. Alapértelmezés szerint
launchSettings.jsona rendszer környezeti változókat és parancssori argumentumokat alkalmazhat a végrehajtható tesztre.--no-launch-profile-argumentsNe használja az indítási profilban megadott
commandLineArgsargumentumokat az alkalmazás futtatásához.--property:<NAME>=<VALUE>Beállít egy vagy több MSBuild tulajdonságot. Adjon meg több tulajdonságot a beállítás megismétlésével:
--property:<NAME1>=<VALUE1> --property:<NAME2>=<VALUE2>A rövid űrlap
-phasználható a következőhöz--property: . Ugyanez vonatkozik/property:property=value, és rövid formája/p. Az elérhető argumentumokról további információt a dotnet msbuild dokumentációjában talál.-
-?|-h|--helpA parancs használatának leírását nyomtatja ki.
argsA tesztalkalmazás(ok) számára továbbítandó további argumentumokat adja meg. Több argumentum elválasztásához használjon szóközt. A továbbadásról további információt és példákat az MTP áttekintésében és az MTP funkcióiban talál.
Jótanács
Ha további argumentumokat szeretne megadni adott projektekhez, használja az
TestingPlatformCommandLineArgumentsMSBuild tulajdonságot. Ez a tulajdonság különösen akkor hasznos, ha a megoldás teszt-keretrendszereket (például MSTestet és xUnit.net) kever, vagy ha csak bizonyos projektek hivatkoznak egy adott bővítményre. További információ: Megoldások vegyes tesztelési keretrendszerekkel vagy bővítményekkel.
Megjegyzés:
A nyomkövetési naplózás fájlba való engedélyezéséhez használja a DOTNET_CLI_TEST_TRACEFILE környezeti változót a nyomkövetési fájl elérési útjának megadásához.
Argumentumok továbbítása a tesztalkalmazáshoz
dotnet test továbbít minden olyan jogkivonatot, amelyet nem ismer fel a tesztalkalmazásnak. Ha egy felismert beállítás egy ismeretlen beállítás neve és értéke között jelenik meg, a felismert beállítás eltávolítása megváltoztathatja, hogy a maradék jogkivonatok hogyan kötődnek a tesztalkalmazás beállításaihoz. A kétértelműség elkerülése érdekében helyezze el a tesztalkalmazás argumentumait egy literál --után:
dotnet test --results-directory TestResults -- --report-trx --report-trx-filename A.trx
Ugyanez az elemzési viselkedés vonatkozik a és dotnet builda dotnet run . Részletes példa: Argumentumok továbbítása az alkalmazásnak a dotnet run hivatkozásban.
Példák
Futtassa a teszteket az aktuális könyvtár project vagy megoldásában:
dotnet testFuttassa a teszteket a
TestProjectproject:dotnet test --project ./TestProject/TestProject.csprojFuttassa a teszteket a
TestProjectsmegoldásban:dotnet test --solution ./TestProjects/TestProjects.slnFuttassa a teszteket szerelvény használatával
TestProject.dll:dotnet test --test-modules "**/bin/**/Debug/net10.0/TestProject.dll"Futtassa a teszteket a gyökérkönyvtárral
TestProject.dllszerelvény használatával:dotnet test --test-modules "**/bin/**/Debug/net10.0/TestProject.dll" --root-directory "c:\code"Futtassa a teszteket az aktuális könyvtárban kódlefedettséggel:
dotnet test --coverageFuttassa a teszteket, és tárolja az eredményeket egy adott könyvtárban:
dotnet test --results-directory ./TestResultsFuttassa a teszteket diagnosztikai kimenettel egy adott könyvtárban:
dotnet test --diagnostic-output-directory ./DiagnosticsFuttassa a teszteket, amelyek legalább 10 tesztet hajtanak végre:
dotnet test --minimum-expected-tests 10Futtassa a teszteket a
TestProjectproject, és adja meg a-bl(bináris napló) argumentumot amsbuild:dotnet test --project ./TestProject/TestProject.csproj -blFuttassa a teszteket a
TestProjectproject, és állítsa az MSBuildDefineConstantstulajdonságotDEVértékre:dotnet test --project ./TestProject/TestProject.csproj -p:DefineConstants="DEV"