Sdílet prostřednictvím


MSTest.exe – možnosti příkazového řádku

MSTest.exe je příkaz příkazového řádku, který se používá ke spouštění testů.Tento příkaz má několik možností, které můžete použít k přizpůsobení spuštění vašeho testu.Mnohé z těchto možností můžete použít ve spojení s jinými. Ve skutečnosti je některé možnosti nutné používat ve spojení s jinými možnostmi, jak je popsáno v následujících částech.U MSTest.Console.exe na příkazovém řádku můžete zadat tyto možnosti v libovolném pořadí.

MSTest.exe neinterpretuje možnosti nebo hodnoty, které jste pro ně nastavili, z hlediska velikosti písmen.

V následujících tabulkách jsou uvedeny všechny možnosti pro MSTest.exe a jejich krátký popis.Podobný přehled zobrazíte zadáním příkazu MSTest/h na příkazovém řádku.

Obecné možnosti příkazového řádku

/testcontainer:[file name]

Načtěte soubor, který obsahuje testy.

Příklad: /testcontainer:tests.dll

Další informace naleznete v objektu /testcontainer.

/testmetadata:[file name]

Načtěte soubor, který obsahuje metadat testu.Další informace naleznete v objektu /testmetadata.

/testlist:[test list path]

Uveďte seznam testů, jak jsou uvedeny v souboru metadat, které mají být spuštěny.Další informace naleznete v objektu /testlist.

/category:[test category filter]

Určete a filtrujte, které kategorie testů chcete spustit.Další informace naleznete v objektu /category.

/test:[test name]

Zadejte název test, který má být spuštěn.Další informace naleznete v objektu /test.

/noisolation

Spusťte testy v rámci procesu MSTest.exe.Tato volba zlepší rychlost průběhu testu, ale zvyšuje riziko pro proces MSTest.exe.

/testsettings: [file name]

Použijte zadaný soubor nastavení testu.

Příklad: /testsettings:Local.Testsettings

Další informace naleznete v objektu /testsettings.

/runconfig:[file name]

Použijte konfigurační soubor zadaného běhu.

Příklad: /runconfig:localtestrun.Testrunconfig

Další informace naleznete v objektu /runconfig.

[!POZNÁMKA]

Tento parametr příkazového řádku je zachován z důvodu kompatibility s předchozími verzemi sady Visual Studio.Konfigurace testovacích běhů byly nahrazeny nastavením testů v sadě Visual Studio Premium.

/resultsfile:[file name]

Výsledky testovacího běhu uložte do zadaného souboru.

Příklad: /resultsfile:testResults.trx

Další informace naleznete v objektu /resultsfile.

/detail:[property id]

Zadejte název vlastnosti, pro kterou chcete zobrazit hodnoty, pokud existují, kromě výsledku testu.Další informace naleznete v objektu /detail.

/help

Zobrazit nápovědu MSTest.exe (krátký tvar: /? nebo /h).

/nologo

Nezobrazovat žádný úvodní nápis ani zprávu o autorských právech.

/usestderr

Pro výstup informací o chybě používejte standardní chyby.

Možnosti příkazového řádku pro publikování výsledků testu

Další informace o těchto možnostech naleznete v Možnosti příkazového řádku pro publikování výsledků testů.

/publish:[server name]

Publikujte výsledky do databáze pro kolekci týmových projektů určeného serveru.

/publishresultsfile:[file name]

Zadejte název souboru výsledků, který chcete publikovat.Pokud není zadán žádný název souboru výsledků, použijte soubor vytvořený pomocí aktuálního spuštění.

/publishbuild:[build id]

Publikujte výsledky testu pomocí tohoto ID sestavení.

/teamproject:[team project name]

Zadejte název týmového projektu, ke kterému sestavení patří.

/platform:[platform]

Určete platformu sestavení, proti kterému se by se měly zveřejňovat výsledky testu.

/flavor:[flavor]

Určete charakter sestavení, proti kterému se by se měly zveřejňovat výsledky testu.

Používání možností MSTest

Následující oddíly popisují řadu možností pro MSTest.exe podrobněji.Možnosti, které byly použity pro publikování výsledků testů zde nejsou zahrnuty.Informace o těchto možnostech naleznete v tématu Možnosti příkazového řádku pro publikování výsledků testů.

/testcontainer

/testcontainer:[file name]

Kontejner testu je soubor, který obsahuje testy, které chcete spustit.Například pro seřazené testy je kontejnerem testu soubor .orderedtest, který definuje seřazený test.Pro testování částí se jedná o sestavení vytvořené z testovacího projektu obsahujícího zdrojové soubory testování částí.

[!POZNÁMKA]

Pro testování částí se jedná o sestavení, které obsahuje testovací kód, a nikoli o sestavení obsahující kód aplikace, kterou testujete.Například pokud vaše řešení obsahuje projekt s názvem BankAccount a odpovídající testovací projekt s názvem BankAccountTest, zadejte /testcontainer:BankAccountTest.dll.

[!POZNÁMKA]

Protože soubor metadat také uvádí testy, které lze spustit, nesmíte zadat možnosti /testcontainer i /testmetadata v jednom příkazovém řádku. Tím by byly nejednoznačné a mohlo by dojít k chybě.

/testmetadata

/testmetadata:[file name]

Chcete-li spustit testy v několika nádobách test, lze použít možnost /testmetadata.

Soubor metadat test je vytvořen pro vaše řešení při vytváření seznamů testů pomocí okna Editor seznamu testů.Tento soubor obsahuje informace o všech testech uvedených v okně editoru seznamu testů.Jedná se o všechny testy, které existují ve všech testovacích projektech v řešení.

Soubor metadat testu je soubor XML, který je vytvořen ve složce řešení.Tento soubor je zobrazen v průzkumníkovi řešení pod uzlem Položky řešení.Testovací soubor metadat má příponu .vsmdi a je přidružen k oknu Editor seznamu testů.To znamená, že pokud dvakrát kliknete na soubor .vsmdi v Průzkumníku Windows (nebo v Průzkumníku souborů), soubor otevře sadu Visual Studio i s obsahem.Všechny testy v testovacích projektech řešení se zobrazí v okně Editor seznamu testů.

Soubor pro test metadat můžete změnit pouze tím, že změny, které se projeví v okně Editor seznamu testů, například vytvoření nebo odstranění testů nebo změna vlastností testu.

[!POZNÁMKA]

Protože kontejner testu obsahuje testy, které lze spustit, nesmíte zadat možnosti /testcontainer i /testmetadata v jednom příkazovém řádku. Tím by byly nejednoznačné a mohlo by dojít k chybě.

Při použití možnosti /testmetadata je doporučeno, abyste určili specifické testy, které chcete pustit, a to pomocí možnosti /test, /testlist, nebo obojího.

/testlist

/testlist:[test list path]

Parametr /testlist je seznam testů (vycházející ze souboru metadat testů), které mají být spuštěny.Chcete-li spustit testy, které jsou obsaženy ve více seznamech testů, použijte několikrát možnost /testlist.Všechny objednané testy v seznamu testování se spustí.

[!POZNÁMKA]

Možnost /testlist lze použít pouze v případě, že použijete také možnost /testmetadata.

Možnost /testlist a /test lze použít společně.Jedná se o ekvivalent pro výběr seznamu testu a současně jednoho nebo více testů v okně Editor seznamu testů a výběrem možnosti Spustit testy.

/category

/category:[test category filter]

Pomocí možnosti /category můžete určit, která kategorie testu má být spuštěna.

[!POZNÁMKA]

Pokud chcete použít možnost /category, je nutné použít možnost /testcontainer.

Možnost /category lze použít pouze jednou pro každý příkazový řádek, ale ve filtru testové kategorie můžete zadat více testových kategorií.Filtr kategorií testů se skládá z jednoho nebo více názvů kategorií testů oddělených logickými operátory &, |, !, &!.Logické operátory & a | nelze používat společně za účelem vytvoření filtru kategorie testů.

Příklad:

  • /category:group1 spustí testy v kategorii testu "skupina 1".

  • /category:"group1&group2" spustí testy, které jsou v kategorii testu "skupina1" i "skupina2". Testy, které jsou pouze v jedné ze zadaných testovacích kategorií, spuštěny nebudou.

  • /category:"group1|group2" spustí testy, které jsou v kategorii testu "skupina1" nebo "skupina2".Budou spuštěny také testy, které jsou v obou kategoriích.

  • /category:"group1&!group2" spustí testy z kategorie testu "skupina1", které nejsou v kategorii testu "skupina2". Test, který je v obou kategoriích testování "skupina1" i "skupina2", nebude spuštěn.

    [!POZNÁMKA]

    Pokud se filtr skládá z jedné kategorie, jako například /category:group1, není nutné filtr uzavírat mezi uvozovky.Nicméně pokud filtr odkazuje na více než jednu kategorii, například /category:"group1&group2", musí filtr být uzavřen mezi uvozovky.

/test

/test:[test name]

Pomocí možnosti /test můžete určit spuštění jednotlivých testů.Chcete-li spustit více testů, několikrát použijte možnost /test.

[!POZNÁMKA]

Lze použít možnost /test s možností /testcontainer nebo /testmetadata, ale nikoli s oběma.

Možnost /testlist a /test lze použít společně.Jedná se o ekvivalent pro výběr seznamu testu a současně jednoho nebo více testů v okně Editor seznamu testů a výběrem možnosti Spustit testy.

Řetězec, který zadáte s možností /test je použít tak, aby byly nalezeny odpovídající názvy testů buď v kontejneru testů nebo v souboru metadat testů.To znamená, že můžete zadat více testů pomocí jedné hodnoty pro /test.Například zadání /test:ittest vyprodukuje shody pro testy s názvem DebitTest a CreditTest, protože oba názvy testů obsahují podřetězec "ittest".

[!POZNÁMKA]

Hodnota, kterou zadáte pomocí možnosti /test, je testována nejen vůči názvu testu, ale také vůči cestě daného testu, jak je vidět v okně Průzkumník řešení, nebo (v případě testování částí) vůči jejich plně kvalifikovanému názvu.

Následují dva příklady použití:

Příklad testování částí: Soubor UnitTest1.cs v projektu TestProject2 obsahuje testování částí s názvem TestMethod1.Určení hodnoty ittest pro možnost /test by také byla odpovídající hodnota pro tento, protože řetězec je testován vůči plně kvalifikovanému názvu TestProject2.UnitTest1.TestMethod1 a řetězec ittest je také součástí řetězce UnitTest1.

Příklad obecného testu: Následující příkazový řádek spustí zadaný obecný test a ve výsledcích testu zobrazí úplnou cestu testu.

mstest /testcontainer:"C:\Documents and Settings\<user name>\My Documents\Visual Studio\Projects\TestProject2\TestProject2\generictest1.generic" /test:testproject32\generic

/noisolation

/noisolation

Tuto možnost použijte, chcete-li spustit testy v rámci procesu MSTest.exe.Použití této možnosti nezpůsobí žádné další změny konfigurace testovacího běhu.Účelem této možnosti je zlepšit rychlost běhu testu.Zvyšuje však riziko pro spuštění testu jako celku, protože neošetřená výjimka vyvolaná testovacím kódem by způsobila selhání procesu MSTest.exe.

/testsettings

/testsettings:[file name]

Tuto možnost použijte, chcete-li určit soubor nastavení testu.Například: /testsettings:local.Testsettings

Soubor s nastavením testu můžete určit jinými způsoby, jako např. s parametrem /testmetadata.Pravidla, která řídí specifikaci souborů nastavení běhu, jsou zde popsány.

  • Použijete-li možnost /testsettings, použije se soubor, který je zadán, bez ohledu na to, zda také použijete možnost /testmetadata.

  • Použijete-li možnost /testmetadata pro odkazování na soubor metadat, který určuje aktivní soubor nastavení testu, použije se tento soubor nastavení testu, pokud nepoužijete možnost /testsettings.

  • Pokud nepoužijete možnost /testsettings a také nezadáte soubor nastavení testu v souboru metadat testu, průběh testu použije výchozí souboru nastavení testu.

    [!POZNÁMKA]

    Další informace o souborech nastavení testu naleznete v části Vytváření nastavení testů pro automatizované systémové testy pomocí nástroje Microsoft Test Manager.

/runconfig

/runconfig:[file name]

Poznámka: Tento parametr příkazového řádku je zachován z důvodu kompatibility s předchozími verzemi sady Visual Studio.Konfigurace testovacích běhů byly nahrazeny nastavením testů v sadě Visual Studio Premium.

Tuto možnost použijte, chcete-li určit konfigurační soubor běhu.Například: /runconfig:localtestrun.Testrunconfig

Konfigurační soubor spuštění můžete určit jinými způsoby, jako např. s parametrem /testmetadata.Pravidla, která řídí specifikaci konfiguračních souborů běhu, jsou zde popsány.

  • Použijete-li možnost /runconfig, použije se soubor, který je zadán, bez ohledu na to, zda také použijete možnost /testmetadata.

  • Použijete-li možnost /testmetadata pro odkazování na soubor metadat, který určuje aktivní zpracování konfiguračního souboru, toto spuštění konfiguračního souboru bude použito, pokud nepoužijete možnost /runconfig.

  • Pokud nepoužijete možnost /runconfig a také nezadáte konfigurační soubor spuštění v souboru testu metadat, průběh testu použije výchozí konfigurační souboru pro spuštění.

/resultsfile

/resultsfile:[file name]

Pomocí této možnosti můžete uložit výsledky testů do pojmenovaného souboru.Příklad: /resultsfile:testResults.trx.

/usestderr

/usestderr

Použití této možnosti způsobí, že budou do standardní chyby zapsány následující informace:

  • Testy s výsledkem Nezdařilo se, Přerušeno, Chyba, Vypršení časového limitu, |Nespustitelné nebo Neprovedeno.

  • Spusťte chyby na dané úrovni.

  • Chyby při analýze argumentů příkazového řádku.

  • Spusťte souhrn po selhání výsledek testovacího běhu.

Bez této možnosti je veškerý výstup odeslán do standardního výstupu.

/detail

/detail:[property id]

Tato možnost slouží k zobrazení dalších vlastností testovacího případu, pokud existuje.Můžete předat více než jednu instanci možnosti /detail, kdy má každá v daném příkazovém řádku pouze jedno ID vlastnosti.Následují platná ID vlastností pro možnost /detail:

adaptér

id

projectrelativepath

computername

je automatizovaný

readonly

debugtrace

odkaz

spoolmessage

popis

longtext

stderr

displaytext

název

stdout

doba trvání

outcometext

úložiště

errormessage

vlastník

testcategoryid

errorstacktrace

parentexecid

testname

executionid

priorita

testtype

skupiny

projectname

traceinfo

[!POZNÁMKA]

Konkrétní výběr identifikátorů vlastností (ID), které lze použít s parametrem /detail, se liší podle typu testu.Proto je tento seznam pouze přibližný.Zejména pokud používáte vlastní typy testů se bude výběr vlastností lišit.Chcete-li zjistit, která propertyID můžete použít, zkontrolujte soubor s výsledky testu vytvořený spuštěním testu.Další informace o souborech výsledků testu naleznete v tématu Postupy: Uložení a otevření výsledků výkonu webu a zátěžového testu ve Visual Studiu.

Jestliže některá vlastnost existuje pro zadaný testovací případ, její informace bude zahrnuta do souhrnu výsledků výstupu.

Například příkazový řádek:

mstest /testcontainer:Errors.dll /detail:testtype

vytvoří následující výstup, který obsahuje informace o typu testu:

... 
Results                    Top Level Tests 
--------                   ----------------- 
Inconclusive               TestProject2.BankAccountTest.CreditTest 
[testtype] = Unit Test 
...

Viz také

Koncepty

Spuštění automatizovaných testů z příkazového řádku

Další zdroje

Vyhodnocení výsledků testů v nástroji Microsoft Test Manager