Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Návod
Než zvolíte konfiguraci spouštěče, podívejte se na přehled testovacích platforem.
V závislosti na vašich potřebách můžete spouštět testy MSTest několika způsoby. Testy můžete spouštět z integrovaného vývojového prostředí (například Visual Studio, Visual Studio Code nebo JetBrains Rider) nebo z příkazového řádku nebo ze služby CI (například GitHub Actions nebo Azure DevOps).
MsTest se v minulosti spoléhal na VSTest pro spouštění testů ve všech kontextech, ale počínaje verzí 3.2.0 má MSTest vlastní spouštěč testů. Tento nový spouštěč je jednodušší a rychlejší než VSTest a je doporučeným způsobem spouštění testů MSTest.
VSTest vs Microsoft.Testing.Platform (MTP)
MSTest podporuje spouštění testů pomocí VSTest i Microsoft.Testing.Platform (MTP). Podpora MTP využívá MSTest runner, který může spouštět testy ve všech kontextech (například kontinuální integrace (CI - pipelines), rozhraní příkazového řádku, Visual Studio Test Explorer a VS Code Text Explorer). MsTest runner je vložen přímo do vašich projektů testů MSTest a nejsou potřeba žádné další závislosti aplikace, například vstest.console nebo dotnet test, ke spuštění testů. Přesto však můžete testy spouštět pomocí dotnet test.
MsTest runner je open source a staví na knihovně Microsoft.Testing.Platform. Kód Microsoft.Testing.Platform najdete v úložišti microsoft/testfx GitHub. Testovací nástroj MSTest je součástí MSTest in 3.2.0 nebo novější.
Povolení Microsoft.Testing.Platform v projektu MSTest
Doporučuje se používat sadu MSTest SDK, protože výrazně zjednodušuje konfiguraci project a aktualizuje project a zajišťuje správné zarovnání verzí platformy (Microsoft.Testing.Platform) a jeho rozšíření.
Při použití MSTest SDKse ve výchozím nastavení přihlašujete k používání platformy Microsoft.Testing.Platform.
<Project Sdk="MSTest.Sdk/4.1.0">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>
Případně můžete povolit msTest runner přidáním vlastnosti EnableMSTestRunner a nastavením OutputType na Exe do souboru project. Musíte také zajistit, že používáte MSTest 3.2.0 nebo novější. Důrazně doporučujeme aktualizovat na nejnovější dostupnou verzi MSTest.
Podívejte se na následující příklad project souboru:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<!-- Enable Microsoft.Testing.Platform, this is an opt-in feature -->
<EnableMSTestRunner>true</EnableMSTestRunner>
<TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>
<!--
Displays error on console in addition to the log file. Note that this feature comes with a performance impact.
For more information, visit https://learn.microsoft.com/dotnet/core/testing/unit-testing-with-dotnet-test#show-failure-per-test
-->
<TestingPlatformShowTestsFailure>true</TestingPlatformShowTestsFailure>
<OutputType>Exe</OutputType>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<!--
MSTest meta package is the recommended way to reference MSTest.
It's equivalent to referencing:
Microsoft.NET.Test.Sdk
MSTest.TestAdapter
MSTest.TestFramework
MSTest.Analyzers
Starting with 3.8, it also includes:
Microsoft.Testing.Extensions.TrxReport
Microsoft.Testing.Extensions.CodeCoverage
-->
<PackageReference Include="MSTest" Version="4.1.0" />
</ItemGroup>
</Project>
Návod
Pokud chcete zajistit, aby všechny projekty testů ve vašem řešení používaly msTest runner, nastavte EnableMSTestRunner a TestingPlatformDotnetTestSupport vlastnosti v souboru Directory.Build.props místo jednotlivých souborů project.
Konfigurace a filtry
.runsettings
Microsoft.Testing.Platform podporuje runsettings prostřednictvím možnosti --settingspříkazového řádku . Úplný seznam podporovaných položek MSTest naleznete v tématu Konfigurace MSTest: Runsettings. Následující příkazy ukazují různé příklady použití.
Použití dotnet run:
dotnet run --project Contoso.MyTests -- --settings config.runsettings
Použití dotnet exec:
dotnet exec Contoso.MyTests.dll --settings config.runsettings
-or-
dotnet Contoso.MyTests.dll --settings config.runsettings
Použití spustitelného souboru:
Contoso.MyTests.exe --settings config.runsettings
Filtr testů
Testovací filtr můžete bezproblémově použít pomocí příkazového řádku s volbou --filter. Následující příkazy ukazují některé příklady.
Použití dotnet run:
dotnet run --project Contoso.MyTests -- --filter "FullyQualifiedName~UnitTest1|TestCategory=CategoryA"
Použití dotnet exec:
dotnet exec Contoso.MyTests.dll --filter "FullyQualifiedName~UnitTest1|TestCategory=CategoryA"
-or-
dotnet Contoso.MyTests.dll --filter "FullyQualifiedName~UnitTest1|TestCategory=CategoryA"
Použití spustitelného souboru:
Contoso.MyTests.exe --filter "FullyQualifiedName~UnitTest1|TestCategory=CategoryA"