Sdílet prostřednictvím


dotnet test with Microsoft.Testing.Platform (MTP)

Tento článek se vztahuje na: ✔️ .NET 10 SDK a novější verze

Název

dotnet test – Testovací ovladač rozhraní .NET použitý k provádění testů jednotek pomocí platformy Microsoft.Testing.Platform.

Přehled

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

S platformou Microsoft Testing platform dotnet test funguje rychleji než s VSTestem. Argumenty související s testy už nejsou opravené, protože jsou svázané s registrovanými rozšířeními v testovacích projektech. MTP navíc při spouštění testů podporuje filtr globbingu. Další informace naleznete v tématu Microsoft.Testing.Platform.

Výstraha

Když se microsoft.Testing.Platform přihlásí prostřednictvím global.json, dotnet test očekává, že všechny testovací projekty budou používat Microsoft.Testing.Platform. Pokud některý z testovacích projektů používá VSTest, jedná se o chybu.

Implicitní obnovení

Nemusíte spouštětdotnet restore, protože se spouští implicitně všemi příkazy, které vyžadují obnovení, například dotnet new, , dotnet build, dotnet run, dotnet testdotnet publisha dotnet pack. Pokud chcete zakázat implicitní obnovení, použijte tuto --no-restore možnost.

Příkaz dotnet restore je stále užitečný v určitých scénářích, kdy explicitní obnovení dává smysl, například sestavení kontinuální integrace ve službě Azure DevOps Services nebo v systémech sestavení, které potřebují explicitně řídit, kdy dojde k obnovení.

Informace o správě informačních kanálů NuGet najdete v dotnet restore dokumentaci.

Možnosti

Poznámka:

Současně můžete použít pouze jednu z následujících možností: --project, --solutionnebo --test-modules. Tyto možnosti nelze kombinovat. Kromě toho při použití --test-modulesnemůžete zadat --arch, --configuration, --framework, --osnebo --runtime. Tyto možnosti nejsou relevantní pro již vytvořený modul.

  • --project <PROJECT_PATH>

    Určuje cestu ke spuštění souboru projektu (název složky nebo úplná cesta). Pokud není zadaný, nastaví se jako výchozí aktuální adresář.

  • --solution <SOLUTION_PATH>

    Určuje cestu ke spuštění souboru řešení (název složky nebo úplná cesta). Pokud není zadaný, nastaví se jako výchozí aktuální adresář.

  • --test-modules <EXPRESSION>

    Filtruje testovací moduly pomocí globbingu souborů v .NET. Spustí se pouze testy, které patří do těchto testovacích modulů. Další informace a příklady použití globbingu souborů v .NET naleznete v tématu Soubor globbing.

  • --root-directory <ROOT_PATH>

    Určuje kořenový adresář možnosti --test-modules. Dá se použít jenom s možností --test-modules.

  • --max-parallel-test-modules <NUMBER>

    Určuje maximální počet testovacích modulů, které se dají spustit paralelně. Výchozí hodnota je Environment.ProcessorCount.

  • -a|--arch <ARCHITECTURE>

    Určuje cílovou architekturu. Toto je zkratka pro nastavení identifikátoru runtime (RID), kde se zadaná hodnota zkombinuje s výchozím identifikátorem RID. Například na win-x64 počítači se zadáním --arch x86 identifikátoru RID nastaví na win-x86. Pokud použijete tuto možnost, tuto možnost nepoužívejte -r|--runtime . K dispozici od verze .NET 6 Preview 7.

  • -c|--configuration <CONFIGURATION>

    Definuje konfiguraci sestavení. Výchozí hodnota pro většinu projektů je Debug, ale můžete přepsat nastavení konfigurace sestavení v projektu.

  • -f|--framework <FRAMEWORK>

    Moniker cílové architektury (TFM) cílové architektury ke spuštění testů. V souboru projektu musí být zadána také cílová architektura.

  • --os <OS>

    Určuje cílový operační systém (OS). Toto je zkratka pro nastavení identifikátoru runtime (RID), kde se zadaná hodnota zkombinuje s výchozím identifikátorem RID. Například na win-x64 počítači se zadáním --os linux identifikátoru RID nastaví na linux-x64. Pokud použijete tuto možnost, tuto možnost nepoužívejte -r|--runtime . K dispozici od .NET 6.

  • -r|--runtime <RUNTIME_IDENTIFIER>

    Cílový modul runtime, pro který se má testovat.

    Krátký formulář -r dostupný od sady .NET SDK 7.

    Poznámka:

    Spouštění testů pro řešení s globální RuntimeIdentifier vlastností (explicitně nebo prostřednictvím --arch--runtime, nebo --os) není podporováno. Nastavte RuntimeIdentifier místo toho jednotlivé úrovně projektu.

  • -v|--verbosity <LEVEL>

    Nastaví úroveň podrobností příkazu. Povolené hodnoty jsou q[uiet], , m[inimal]n[ormal], d[etailed]a diag[nostic]. Další informace najdete v tématu LoggerVerbosity.

  • --no-build

    Určuje, že testovací projekt není před spuštěním sestaven. Také implicitně nastaví příznak --no-restore.

  • --no-restore

    Určuje, že se při spuštění příkazu nespustí implicitní obnovení.

  • --no-ansi

    Zakáže výstup řídicích znaků ANSI na obrazovku.

  • --no-progress

    Zakáže průběh generování sestav na obrazovce.

  • --output <VERBOSITY_LEVEL>

    Určuje úroveň podrobností výstupu při vytváření sestav testů. Platné hodnoty jsou Normal a Detailed. Výchozí hodnota je Normal.

  • --no-launch-profile

    Nepokoušejte se použít launchSettings.json ke konfiguraci aplikace. Ve výchozím nastavení launchSettings.json se používají proměnné prostředí a argumenty příkazového řádku pro testovací spustitelný soubor.

  • --no-launch-profile-arguments

    Ke spuštění aplikace nepoužívejte argumenty zadané commandLineArgs v profilu spuštění.

  • --property:<NAME>=<VALUE>

    Nastaví jednu nebo více vlastností nástroje MSBuild. Zadejte více vlastností opakováním možnosti:

    --property:<NAME1>=<VALUE1> --property:<NAME2>=<VALUE2>
    

    Krátký formulář -p lze použít pro --property. Totéž platí pro /property:property=value a jeho krátká forma je /p. Další informace o dostupnýchargumentch

  • -?|-h|--help

    Vytiskne popis použití příkazu.

  • args

    Určuje další argumenty, které se mají předat testovacím aplikacím. K oddělení více argumentů použijte mezeru. Další informace a příklady o tom, co předat, naleznete v tématu Microsoft.Testing.Platform přehled a rozšíření Microsoft.Testing.Platform.

    Návod

    Chcete-li zadat další argumenty pro konkrétní projekty, použijte TestingPlatformCommandLineArguments MSBuild vlastnost.

Poznámka:

Pokud chcete povolit protokolování trasování do souboru, použijte proměnnou prostředí DOTNET_CLI_TEST_TRACEFILE k poskytnutí cesty k trasovacímu souboru.

Examples

  • Spusťte testy v projektu nebo řešení v aktuálním adresáři:

    dotnet test
    
  • Spusťte testy v TestProject projektu:

    dotnet test --project ./TestProject/TestProject.csproj
    
  • Spusťte testy v řešení TestProjects:

    dotnet test --solution ./TestProjects/TestProjects.sln
    
  • Spusťte testy pomocí TestProject.dll sestavení:

    dotnet test --test-modules "**/bin/**/Debug/net10.0/TestProject.dll"
    
  • Testy spusťte pomocí sestavení TestProject.dll s kořenovým adresářem:

    dotnet test --test-modules "**/bin/**/Debug/net10.0/TestProject.dll" --root-directory "c:\code"
    
  • Spusťte testy v aktuálním adresáři s pokrytím kódu:

    dotnet test --coverage
    
  • Spusťte testy v TestProject projektu a zadejte -bl argument (binární protokol) na msbuild:

    dotnet test --project ./TestProject/TestProject.csproj -bl
    
  • Spusťte testy v TestProject projektu a nastavte vlastnost MSBuild DefineConstants na DEV:

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

Viz také