dotnet test with Microsoft. Testing.Platform (MTP)

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

Název

dotnet test – .NET testovací ovladač použitý k provádění testů jednotek pomocí MTP.

Přehled

dotnet test
    [<PROJECT_OR_TRAVERSAL_PATH>]
    [--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>]
    [--results-directory-layout <flat|per-module>]
    [--diagnostic-output-directory <DIAGNOSTIC_OUTPUT_DIRECTORY>]
    [--minimum-expected-tests <NUMBER>]
    [--maximum-failed-tests <NUMBER>]
    [--timeout <DURATION>]
    [-e|--environment <NAME="VALUE">]
    [-a|--arch <ARCHITECTURE>]
    [--artifacts-path <ARTIFACTS_DIR>]
    [-c|--configuration <CONFIGURATION>]
    [-f|--framework <FRAMEWORK>]
    [--os <OS>]
    [-r|--runtime <RUNTIME_IDENTIFIER>]
    [--use-current-runtime|--ucr]
    [-v|--verbosity <LEVEL>]
    [--no-build]
    [--no-dependencies]
    [--no-restore]
    [--nologo|--no-logo|--no-banner]
    [--no-ansi]
    [--no-progress]
    [--no-artifact-post-processing]
    [--output <VERBOSITY_LEVEL>]
    [--show-test-results <OUTCOME>]
    [--list-tests [text|json]]
    [--no-launch-profile]
    [--no-launch-profile-arguments]
    [--device <DEVICE_ID>]
    [--list-devices]
    [--collect-test-map]
    [--affected-tests]
    [<args>...]

dotnet test -h|--help

Description

S MTP dotnet test funguje rychleji než s VSTestem. Argumenty související s testem už nejsou opravené, protože jsou svázané s registrovanými rozšířeními v testovacím project. MTP navíc při spouštění testů podporuje filtr globbingu. Další informace najdete v tématu MTP.

Important

Možnosti specifické pro rozšíření nejsou integrované do MTP. Každá cílová testovací aplikace musí zaregistrovat rozšíření, které poskytuje možnost. Přidejte balíček NuGet rozšíření přímo nebo použijte konfiguraci nebo profil testovací sady SDK, který balíček obsahuje. V opačném případě testovací běh selže s ukončovacím kódem 5, protože možnost není rozpoznána. Spuštěním zobrazíte dotnet test --help možnosti, které jsou dostupné pro vybrané testovací aplikace, a podívejte se na možnosti rozšíření podle scénáře a vyhledejte balíček pro danou možnost.

Výstraha

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

Požadavky verzí

Režim dotnet test MTP vyžaduje sadu .NET 10 SDK a MTP 1.7 nebo novější. Možnosti přidané po .NET 10 mají jednotlivé požadavky na verzi sady SDK v následujících částech. Některé možnosti také vyžadují novější balíček MTP, protože sada SDK koordinuje úplné spuštění, zatímco každá testovací aplikace implementuje odpovídající funkce.

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í integrace kontinuá 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, --solution nebo --test-modules. Tyto možnosti nelze kombinovat. Kromě toho, když použijete --test-modules, nemůžete zadat --arch, --configuration, --device, , --framework, , --list-devices, --os, , --runtimenebo --use-current-runtime. Tyto možnosti vyžadují vyhodnocení projektu nebo nejsou relevantní pro již vytvořený modul.

  • PROJECT_OR_TRAVERSAL_PATH

    Určuje projekt nebo projekt procházení, který se má spustit. Počínaje verzí .NET 11 Preview 7 dotnet test podporuje Microsoft.Build.Traversal projekty, například dirs.proja rekurzivně spouští své odkazované testovací projekty.

    Počínaje verzí .NET 12 Preview 1 může argument identifikovat také testovací aplikaci MTP založenou na souboru jazyka C#. Testovací aplikace založené na souborech nepodporují --device.

  • --project <PROJECT_PATH>

    Určuje cestu ke project souboru, který se má spustit (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ů. Spustí se pouze testy, které patří do těchto testovacích modulů. Počínaje .NET 11 Preview 6 vytvořte předponu vzoru s vyloučením ! odpovídajících modulů. Oddělte více vzorů středníky; prázdné znaky kolem každého vzoru se ignorují.

  • --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.

  • --config-file <CONFIG_FILE>

    Určuje konfigurační soubor, který se má použít k provedení testu. Pokud je k dispozici relativní cesta, převede se na absolutní cestu na základě aktuálního adresáře. Další informace o nastavení konfiguračního souboru naleznete v tématu testconfig.json.

  • --results-directory <RESULTS_DIRECTORY>

    Určuje adresář, do kterého se ukládají výsledky testů. Pokud adresář neexistuje, vytvoří se. Pokud je k dispozici relativní cesta, převede se na absolutní cestu na základě aktuálního adresáře.

  • --results-directory-layout <flat|per-module>

    Určuje způsob, jakým spuštění s více moduly uspořádá soubory v adresáři výsledků. Ve výchozím nastavení flatzapíše všechny výsledky do stejného adresáře. per-module zapíše výsledky jednotlivých modulů, což brání tomu, aby <project>/<target-framework>_<runtime-or-architecture>sestavy se stejným názvem souboru přepsaly navzájem.

    K dispozici od .NET 11 RC 1.

  • --diagnostic-output-directory <DIAGNOSTIC_OUTPUT_DIRECTORY>

    Určuje adresář, ve kterém je uložený výstup diagnostiky. Pokud adresář neexistuje, vytvoří se. Pokud je k dispozici relativní cesta, převede se na absolutní cestu na základě aktuálního adresáře.

  • --minimum-expected-tests <NUMBER>

    Určuje kladný minimální počet testů pro celé spuštění. Pokud je agregovaný počet testů menší než zadaný minimum, testovací běh selže s ukončovacím kódem 9. Globální počet zahrnuje přeskočené testy. Další informace o ukončovací kódy naleznete v tématu Ukončovací kódy MTP.

    Vzhledem k tomu, že se tato možnost zobrazí dříve --, je to globální možnost (celé spuštění). Pokud chcete místo toho pro každý testovací modul vyžadovat minimum, předejte možnost, -- aby se předala každému testovacímu modulu. Další informace najdete v tématu Minimum celého spuštění a jednotlivých modulů.

    Poznámka:

    Globální minimum vyžaduje .NET 10 SDK (10.0.100) nebo novější verzi.

  • --maximum-failed-tests <NUMBER>

    Po dosažení zadaného počtu neúspěšných, chybných, vypršení časového limitu nebo zrušení testů se zastaví dokončení. Spuštění se ukončí s kódem 13.

    K dispozici od verze .NET 11 Preview 7 a vyžaduje MTP 2.4 nebo novější.

  • --timeout <DURATION>

    Zastaví dokončené spuštění po zadané době trvání, zatímco je spuštěna aspoň jedna testovací aplikace. Zadejte kladné číslo následované jednotkou, například 500ms, 90s, 10m, 2hnebo 1d. Časový limit se ukončí s kódem 3.

    K dispozici od verze .NET 11 Preview 7 a vyžaduje MTP 2.4 nebo novější.

  • -e|--environment <NAME="VALUE">

    Nastaví proměnnou prostředí pro testovací proces. Zadejte možnost vícekrát, pokud chcete nastavit více proměnných. Hodnoty příkazového řádku přepisuje hodnoty z profilu spuštění.

    Pokud neexistuje žádný spouštěcí profil nebo zadáte--no-launch-profile, použijte .NET SDK 10.0.110 nebo novější. Starší verze sady .NET 10 SDK mohou v těchto případech ignorovat proměnné. Počínaje .NET 11 Preview 7 tok proměnných také proudí do cílů sestavení, výběru zařízení, nasazení a run-argumentů.

  • -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 .NET 6 Preview 7.

  • --artifacts-path <ARTIFACTS_DIR>

    Všechny výstupní soubory sestavení ze spuštěného příkazu budou v podsložkách pod zadanou cestou oddělenou projektem. Další informace naleznete v tématu Rozložení výstupu artefaktů. Tato možnost a zadaná hodnota musí být explicitně kaskádové v libovolném dotnet příkazu, který závisí na výstupu jiného dotnet příkazu, například při použití dotnet build --no-restore a dotnet publish --no-build. K dispozici od .NET 8 SDK.

    K dispozici pro režim MTP počínaje .NET 11.

  • -c|--configuration <CONFIGURATION>

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

  • -f|--framework <FRAMEWORK>

    Moniker cílové architektury (TFM) cílové architektury ke spuštění testů. V souboru project 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 .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 místo toho RuntimeIdentifier na jednotlivé úrovni project.

  • --use-current-runtime|--ucr

    Použije aktuální modul runtime jako cílový modul runtime během obnovení a sestavení.

    K dispozici od verze .NET 11 Preview 6. Tuto možnost nemůžete kombinovat s --test-modules.

  • -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í project není před spuštěním sestavena. Také implicitně nastaví příznak --no-restore.

  • --no-dependencies

    Přeskočí vytváření odkazů na projekt-projekt.

    K dispozici od verze .NET 11 Preview 6.

  • --no-restore

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

  • --nologo|--no-logo|--no-banner

    Potlačí úvodní bannery .NET a MTP. Podporují -nologo se také formuláře a DOTNET_NOLOGO/nologo proměnné prostředí.

    K dispozici v režimu MTP počínaje .NET 11 Preview 7.

  • --no-ansi

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

  • --no-progress

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

  • --no-artifact-post-processing

    Po spuštění více modulů zakáže následné zpracování kompatibilních artefaktů. Počínaje .NET 11 RC 1 a MTP 2.4 můžou zaregistrované postprocesory artefaktů kombinovat kompatibilní sestavy, jako jsou výsledky TRX. Pokud se po zpracování nezdaří, sada SDK zachová původní artefakty a testovací ukončovací kód.

  • --output <VERBOSITY_LEVEL>

    Určuje úroveň podrobností výstupu výsledků testu. Platné hodnoty jsou Minimal, Normala Detailed. Výchozí hodnota je Normal. Minimal vyžaduje MTP 2.4 Preview.

  • --show-test-results <OUTCOME>

    Vybere bloky výsledků podle výsledku. V MTP 2.4 Preview použijte passed, failed, skipped, , allnebo none. Tato failed hodnota také zahrnuje chyby, časové limity a zrušení.

    Kombinovat passed, faileda skipped s čárkami, mezerami nebo opakovanými --show-test-results možnostmi. Nekombinujte all ani none s jinou hodnotou. Tato explicitní možnost přepíše --output přednastavení bez ohledu na pořadí voleb.

  • --list-tests [text|json]

    Zobrazí seznam zjištěných testů bez jejich provedení. Vynecháte hodnotu nebo zadejte text pro výstup čitelný člověkem. Počínaje verzí .NET 11 Preview 7 zadejte json dokument JSON verze, který seskupuje testy podle sestavení, cílové architektury a architektury a obsahuje dostupné identifikátory, umístění zdroje, metody, parametry a vlastnosti.

  • --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í.

  • --device <DEVICE_ID>

    Vybere zařízení, emulátor nebo simulátor pro každou cílovou architekturu v testovacím projektu Androidu nebo iOS. Cesta MTP také podporuje projekty testů macOS a Mac Catalyst. Pokud je vstup interaktivní a je k dispozici více než jedno zařízení, dotnet test můžete zobrazit výzvu k výběru.

    K dispozici od verze .NET 11 Preview 6. U projektů s více cíli použijte .NET 11 RC 2 nebo novější, aby zjišťování zařízení správně vyhodnocovala každou cílovou architekturu. Tato možnost nepodporuje projekty testů WebAssembly prohlížeče.

  • --list-devices

    Zobrazí seznam dostupných zařízení pro projekt bez spuštění testů. Místo řešení zadejte projekt.

    K dispozici od verze .NET 11 Preview 7.

  • --collect-test-map a --affected-tests

    Shromážděte mapu testů úložiště nebo spusťte testy ovlivněné změnou. Tyto experimentální možnosti vyžadují samostatné distribuované rozšíření a proměnnou DOTNET_CLI_ENABLE_AFFECTED_TESTS=1 prostředí. Tyto dvě možnosti nejde zkombinovat. Pracovní postupy ovlivněných testů také nepodporují testování zařízení, paralelní testovací moduly ani zásady minimálního testu.

    K dispozici od .NET 11 RC 1.

  • --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, najdete v tématu Přehled MTP a funkce MTP.

    Návod

    Chcete-li zadat další argumenty pro konkrétní projekty, použijte TestingPlatformCommandLineArguments MSBuild vlastnost. Tato vlastnost je užitečná zejména v případě, že vaše řešení kombinuje testovací architektury (například MSTest a xUnit.net) nebo když pouze některé projekty odkazují na konkrétní rozšíření. Další informace najdete v tématu Řešení se smíšenými testovacími architekturami nebo rozšířeními.

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.

Počínaje .NET 11 RC 1 dotnet test -bl používá jednu relaci NÁSTROJE MSBuild pro víceprojektové, více cílené a zařízení běží, aby binární protokol obsahoval kompletní sestavení.

Chování výstupu a zrušení

Počínaje .NET 11 Preview 6 zobrazuje interaktivní výstup ANSI testy, které jsou aktuálně spuštěné, a sestavy počtu testů sestavení. Zobrazení průběhu zůstane zakázané, pokud je výstup přesměrován, ansi nebo výstup průběhu je zakázaný nebo prostředí není interaktivní.

Od verze .NET 11 Preview 6 přestane první Ctrl+C plánovat nové testovací aplikace a požádá o spolupracovní zrušení. Stisknutím klávesy Ctrl+C ukončete podřízené procesy okamžitě. Přerušené spuštění se ukončí s kódem 3.

Výstup živého testovacího hostitele vyžaduje hostitele MTP, který podporuje protokol 1.1 nebo novější. Starší hostitelé zachytí výstup a přehrají ho pro neúspěšný modul. Počínaje .NET 11 Preview 7 zkracuje souhrny selhání zachycený standardní výstup delší než 40 řádků na prvních 30 a posledních 10 řádků. Diagnostické protokoly uchovávají úplný výstup.

U více dotnet test modulů vyhodnocuje výsledek nulového testu v celém běhu počínaje .NET 11 Preview 7. Modul bez testů nesplní spuštění, pokud jiný modul úspěšně provede testy, pokud explicitní zásada minimálního testu nevyžaduje více testů.

Výsledky a artefakty

Pokud je povolené rozložení výstupu artefaktů sady SDK, .NET 11 RC 1 a novějších verzích ve výchozím nastavení umístí sestavy MTP, soubory pokrytí a diagnostiku<ArtifactsPath>/test/<project>/<pivot>. Explicitní --results-directory nebo --results-directory-layout má přednost.

Počínaje verzí .NET 11 RC 1 a MTP 2.4 můžou kompatibilní rozšíření po zpracování artefaktů z více modulů spustit. Rozšíření TRX může například vytvořit sloučenou sestavu při zachování sestav pro jednotlivé moduly. Požadavky na rozšíření a sestavy najdete v sestavách testů MTP.

Předání argumentů testovací aplikaci

dotnet test předá všechny tokeny, které nerozpozná testovací aplikaci. Když se rozpoznaná možnost zobrazí mezi nerozpoznaným názvem možnosti a její hodnotou, odebrání rozpoznané možnosti může změnit způsob, jakým se levé tokeny sváže s možnostmi v testovací aplikaci. Abyste se této nejednoznačnosti vyhnuli, umístěte argumenty testovací aplikace za literál --:

dotnet test --results-directory TestResults -- --report-trx --report-trx-filename A.trx

Předchozí příklad vyžaduje Microsoft.Testing.Extensions.TrxReport balíček, a to buď jako přímý odkaz na balíček, nebo prostřednictvím konfigurace testovací sady SDK, která ho obsahuje.

Stejné chování analyzátoru platí pro dotnet run a dotnet build. Podrobný příklad najdete v tématu Předávání argumentů aplikaci v dotnet run odkazu.

Minimum celého spuštění a jednotlivých modulů

-- Oddělovač --minimum-expected-testsurčuje obor možnosti:

  • Argumenty před-- jsou globální. Orchestrátor dotnet test je interpretuje pro celý běh.
  • Argumenty jsou místní-- . dotnet test předá je každému testovacímu modulu, takže je každý modul použije nezávisle.

Vzhledem k tomu, že --minimum-expected-tests je k dispozici v obou oborech, můžete pro každé moduly vyžadovat minimální hodnotu pro celé spuštění, nebo obojí:

dotnet test --minimum-expected-tests 5 -- --minimum-expected-tests 2

Předchozí příkaz vyžaduje alespoň 5 testů v celém spuštění a alespoň 2 testy v každém testovacím modulu.

Dva obory počítají přeskočené testy odlišně:

Scope Počítá se vynechání testů do minimálního počtu?
Globální Yes. Agregovaný dotnet test součet zahrnuje přeskočené testy.
Na modul No. MTP vylučuje přeskočené testy z počtu spuštěných testů.

Počínaje .NET 11 SDK se jednou z agregovaných výsledků rozhodne verdikt nulového testu pro celé spuštění. Modul, který neodpovídá žádným testům, například kvůli globálnímu --test-modules--filter, ukončí kód 8 (ZeroTests), ale tento kód se normalizuje na úspěch před agregací výsledků. V důsledku toho jeden prázdný modul nespustí celé spuštění, i když modul udržuje Exit code: 8 svou diagnostiku ve výstupu kvůli viditelnosti.

MTP 4.3.0 a novější verze poskytují --zero-tests-policy <allow-skipped|strict>. Výchozí hodnota allow-skippedumožňuje úspěšně vynechaný modul. Hodnota strict zachází s přeskočenými testy, protože neběží, takže se všechny přeskočené moduly ukončí s kódem 8. Předejte možnost poté, co -- ji předáte do každého testovacího modulu:

dotnet test -- --zero-tests-policy strict

Pokud nenastavíte globální minimum, sada SDK .NET 11 určuje samostatně spuštěný verdikt nulové testy. Celý celý běh se ukončí s kódem 8 bez ohledu na hodnotu jednotlivých modulů --zero-tests-policy .

Pokud zadáte --minimum-expected-tests a minimální hodnotu nesplníte, spuštění selže s ukončovacím kódem 9 (MinimumExpectedTestsPolicyViolation). Tento kód se liší od 8, takže přísnější globální nebo minimální počet modulů se nezaměňuje s prázdným modulem. Aby minimální počet modulů vrátil kód 9, když modul spustí nulové testy, musí testovací modul použít MTP 4.4.0 nebo novější verzi.

Poznámka:

--minimum-expected-tests 0 je neplatný. Chcete-li potlačit ukončovací kód nulových testů, použijte --ignore-exit-code 8.

Počínaje verzí .NET 11 Preview 6, --tla --terminallogger--tlp jsou předány do nástroje MSBuild místo testovací aplikace. Počínaje verzí .NET 12 Preview 1 se rozpoznané -mt formuláře a -multiThreaded formuláře přeposílají také do nástroje MSBuild. Pokud chcete předat možnost aplikace s jedním z těchto názvů, umístěte ji za --.

Předat možnosti režimu spuštění, jako --help je a --list-tests přímo do dotnet test. Od verze .NET 11 Preview 6 sada SDK ověří režim spouštění vyjednaný s testovací aplikací. Pokud se profil spuštění nebo TestingPlatformCommandLineArguments vloží některou z těchto možností, požadovaná operace sady SDK a operace aplikace se neshodují a spuštění selže s diagnostikou.

Examples

  • Testy spusťte v project nebo řešení v aktuálním adresáři:

    dotnet test
    
  • Spusťte testy v TestProject project:

    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 všechny projekty testů, na které odkazuje projekt procházení s .NET 11 Preview 7 nebo novějším:

    dotnet test dirs.proj
    
  • Výpis testů ve formátu JSON s .NET 11 Preview 7 nebo novějším:

    dotnet test --list-tests json
    
  • Spusťte testovací aplikaci MTP založenou na souborech jazyka C# s .NET 12 Preview 1 nebo novější:

    dotnet test App.Tests.cs
    
  • Testy spusťte v aktuálním adresáři s rozšířením Microsoft Code Coverage. Testovací aplikace musí odkazovat Microsoft.Testing.Extensions.CodeCoveragepřímo nebo prostřednictvím konfigurace testovací sady SDK, která ji obsahuje:

    dotnet test --coverage
    
  • Spusťte testy a uložte výsledky do určitého adresáře:

    dotnet test --results-directory ./TestResults
    
  • Spusťte testy s diagnostickým výstupem v konkrétním adresáři:

    dotnet test --diagnostic-output-directory ./Diagnostics
    
  • Spusťte testy a ujistěte se, že se spustí alespoň 10 testů:

    dotnet test --minimum-expected-tests 10
    
  • Vyžadovat alespoň 5 testů v celém spuštění a alespoň 2 testy v každém testovacím modulu:

    dotnet test --minimum-expected-tests 5 -- --minimum-expected-tests 2
    
  • Spusťte testy v TestProject project a zadejte argument -bl (binární protokol) pro msbuild:

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

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

Viz také