Megosztás:


dotnet-teszt a Microsoft.Testing.Platform (MTP) használatával

Ez a cikk a következőre vonatkozik: ✔️ .NET 10 SDK és újabb verziók

Név

dotnet test - .NET-tesztillesztő, aMellyel egységteszteket hajthat végre a Microsoft.Testing.Platform használatával.

Áttekintés

dotnet test
    [--project <PROJECT_PATH>]
    [--solution <SOLUTION_PATH>]
    [--test-modules <EXPRESSION>] 
    [--root-directory <ROOT_PATH>]
    [--max-parallel-test-modules <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

A Microsoft tesztelési platformjával dotnet test gyorsabban működik, mint a VSTesttel. A teszthez kapcsolódó argumentumok már nem lesznek rögzítve, mivel a tesztprojekt(ek) 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ó: Microsoft.Testing.Platform.

Figyelmeztetés

Ha a Microsoft.Testing.Platform global.jsonkeresztül van engedélyezve, dotnet test minden tesztprojekttől elvárja a Microsoft.Testing.Platform használatá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 továbbra is hasznos bizonyos esetekben, amikor a explicit visszaállításnak van értelme, például folyamatos integrációs buildeket az 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, --solutionvagy --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 projektfá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 a fájlglobbing használatával a .NET-ben. Csak az adott tesztmodulokhoz tartozó tesztek fognak futni. További információkért és példákért a fájlcsúcsolás .NET-ben való használatával kapcsolatban lásd fájlcsúcsoló.

  • --root-directory <ROOT_PATH>

    A --test-modules beállítás gyökérkönyvtárát adja meg. Csak a --test-modules beá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.

  • -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-x64 gépen például a --arch x86 megadásával a RID win-x86lesz. Ha ezt a lehetőséget használja, ne használja a -r|--runtime lehetőséget. Elérhető a .NET 6 7. előzetes verziója óta.

  • -c|--configuration <CONFIGURATION>

    Meghatározza a buildkonfigurációt. A legtöbb projekt esetében az Debugalapértelmezett beállítás, de felülbírálhatja a projekt buildkonfigurációs beállításait.

  • -f|--framework <FRAMEWORK>

    A cél-keretrendszer cél-keretrendszer-monikerje (TFM) a tesztek futtatásához. A cél keretrendszert a projektfá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-x64 gépen például a --os linux megadásával a RID linux-x64lesz. Ha ezt a lehetőséget használja, ne használja a -r|--runtime lehetőséget. A .NET 6 óta érhető el.

  • -r|--runtime <RUNTIME_IDENTIFIER>

    A tesztelni kívánt futtatókörnyezet.

    A .NET SDK 7-től kezdve elérhető rövid űrlap -r .

    Megjegyzés:

    A globális RuntimeIdentifier (explicit vagy via --arch, --runtimevagy --os) tulajdonsággal rendelkező megoldások tesztjeinek futtatása nem támogatott. Ehelyett egyéni projektszinten állítsa be RuntimeIdentifier .

  • -v|--verbosity <LEVEL>

    A parancs részletességi szintjét állítja be. Az engedélyezett értékek a következőkq[uiet]: , m[inimal], n[ormal]d[etailed]és diag[nostic]. További információért lásd LoggerVerbosity.

  • --no-build

    Azt adja meg, hogy a tesztprojekt nem készül el a futtatás előtt. Implicit módon beállítja a --no-restore jelzőt is.

  • --no-restore

    Megadja, hogy a parancs futtatásakor az implicit visszaállítás nem lesz végrehajtva.

  • --no-ansi

    Letiltja az ANSI-feloldó karakterek képernyőre történő kimenetét.

  • --no-progress

    Letiltja 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 és Detailed. Az alapértelmezett érték a Normal.

  • --no-launch-profile

    Ne próbálja meg launchSettings.json használni az alkalmazás konfigurálásához. Alapértelmezés szerint launchSettings.json a rendszer környezeti változókat és parancssori argumentumokat alkalmazhat a végrehajtható tesztre.

  • --no-launch-profile-arguments

    Ne használja az indítási profilban megadott commandLineArgs argumentumokat 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 -p haszná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|--help

    A parancs használatának leírását nyomtatja ki.

  • args

    A 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. További információ és példák a továbbadásról: Microsoft.Testing.Platform áttekintése és Microsoft.Testing.Platform bővítmények.

    Jótanács

    Ha további argumentumokat szeretne megadni adott projektekhez, használja az TestingPlatformCommandLineArguments MSBuild tulajdonságot.

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.

Példák

  • Futtassa a teszteket a projektben vagy a megoldásban az aktuális könyvtárban:

    dotnet test
    
  • Futtassa a teszteket a TestProject projektben:

    dotnet test --project ./TestProject/TestProject.csproj
    
  • Futtassa a teszteket a TestProjects megoldásban:

    dotnet test --solution ./TestProjects/TestProjects.sln
    
  • Futtassa 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.dll szerelvé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 --coverage
    
  • Futtassa a teszteket a TestProject projektben, és adja meg a -bl (bináris napló) argumentumot a következőhöz msbuild:

    dotnet test --project ./TestProject/TestProject.csproj -bl
    
  • Futtassa a teszteket a TestProject projektben, és állítsa az MSBuild tulajdonságot DefineConstants a következőre DEV:

    dotnet test --project ./TestProject/TestProject.csproj -p:DefineConstants="DEV"
    

Lásd még