Použití Microsoft.Testing.Platform s dotnet test
Tento článek popisuje, jak používat dotnet test
ke spouštění testů při použití Microsoft.Testing.Platform
, a různé možnosti, které jsou k dispozici ke konfiguraci výstupu NÁSTROJE MSBuild vytvořené při spouštění testů prostřednictvím Microsoft.Testing.Platform.
Tento článek ukazuje, jak použít dotnet test
ke spuštění všech testů v řešení (*.sln), které používá Microsoft.Testing.Platform
.
dotnet test
integrace
Příkaz dotnet test je způsob, jak spouštět testy z řešení, projektů nebo již sestavených sestavení.
Microsoft.Testing.Platform se připojí k této infrastruktuře, aby poskytoval jednotný způsob spouštění testů, zejména při migraci z VSTest do Microsoft.Testing.Platform
.
dotnet test
integrace – režim VSTest
Microsoft.Testing.Platform
poskytuje vrstvu kompatibility (most VSTest), která umožňuje bezproblémovou práci dotnet test
.
Testy je možné spustit spuštěním příkazu:
dotnet test
Tato vrstva spouští test prostřednictvím nástroje VSTest a integruje se s ní na úrovni adaptéru VSTest Test Framework.
dotnet test
– Microsoft.Testing.Platform mode
Ve výchozím nastavení se VSTest používá ke spouštění Microsoft.Testing.Platform
testů. Úplné Microsoft.Testing.Platform
nastavení můžete povolit zadáním <TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>
nastavení v souboru projektu. Toto nastavení zakáže VSTest a díky tranzitivní závislosti na balíčku NuGet Microsoft.Testing.Platform.MSBuild přímo spustí všechny Microsoft.Testing.Platform
zmocněné testovací projekty ve vašem řešení. Funguje bez problémů, pokud předáte přímý Microsoft.Testing.Platform
test projektu.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
<OutputType>Exe</OutputType>
<EnableMSTestRunner>true</EnableMSTestRunner>
<!-- Add this to your project file. -->
<TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>
</PropertyGroup>
<!-- ... -->
</Project>
V tomto režimu můžete zadat další parametry, které se používají k volání testovací aplikace jedním z následujících způsobů:
Microsoft.Testing.Platform
Počínaje verzí 1.4 (součástí MSTest verze 3.6) můžete přidat možnosti za dvojitou pomlčku--
na příkazovém řádku:dotnet test -- --minimum-expected-tests 10
TestingPlatformCommandLineArguments
Pomocí vlastnosti MSBuild na příkazovém řádku:dotnet test -p:TestingPlatformCommandLineArguments="--minimum-expected-tests 10"
Nebo v souboru projektu:
<PropertyGroup> ... <TestingPlatformCommandLineArguments>--minimum-expected-tests 10</TestingPlatformCommandLineArguments> </PropertyGroup>
Další možnosti nástroje MSBuild
Integrace nástroje MSBuild poskytuje možnosti, které lze zadat v souboru projektu nebo prostřednictvím globálních vlastností na příkazovém řádku, například -p:TestingPlatformShowTestsFailure=true
.
K dispozici jsou tyto možnosti:
Zobrazení selhání na test
Ve výchozím nastavení se selhání testů shrnují do souboru .log a do nástroje MSBuild se hlásí jedno selhání na jeden testovací projekt.
Pokud chcete zobrazit chyby na neúspěšný test, zadejte -p:TestingPlatformShowTestsFailure=true
na příkazovém řádku nebo přidejte <TestingPlatformShowTestsFailure>true</TestingPlatformShowTestsFailure>
vlastnost do souboru projektu.
Na příkazovém řádku:
dotnet test -p:TestingPlatformShowTestsFailure=true
Nebo v souboru projektu:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
<OutputType>Exe</OutputType>
<EnableMSTestRunner>true</EnableMSTestRunner>
<TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>
<!-- Add this to your project file. -->
<TestingPlatformShowTestsFailure>true</TestingPlatformShowTestsFailure>
</PropertyGroup>
<!-- ... -->
</Project>
Zobrazit úplný výstup platformy
Ve výchozím nastavení se veškerý výstup konzoly, který podkladový testovací spustitelný soubor zapisuje, zachytí a skryje ho uživateli. To zahrnuje banner, informace o verzi a formátované testovací informace.
Chcete-li zobrazit tyto informace společně s výstupem nástroje MSBuild, použijte <TestingPlatformCaptureOutput>false</TestingPlatformCaptureOutput>
.
Tato možnost nemá vliv na to, jak testovací architektura zachycuje výstup uživatele napsaný Console.WriteLine
jinými podobnými způsoby zápisu do konzoly.
Na příkazovém řádku:
dotnet test -p:TestingPlatformCaptureOutput=false
Nebo v souboru projektu:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
<OutputType>Exe</OutputType>
<EnableMSTestRunner>true</EnableMSTestRunner>
<TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>
<!-- Add this to your project file. -->
<TestingPlatformCaptureOutput>false</TestingPlatformCaptureOutput>
</PropertyGroup>
<!-- ... -->
</Project>