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é nastavení můžete povolit Microsoft.Testing.Platform
zadáním <TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>
nastavení v projektu. Toto nastavení zakáže VSTest a díky tranzitivní závislosti na balíčku NuGet Microsoft.Testing.Platform.MSBuild přímo spustí ve vašem řešení všechny Microsoft.Testing.Platform
podporované testy projektu. 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é budou použity k volání testovací aplikace následujícím způsobem:
Microsoft.Testing.Platform
Počínaje verzí 1.4 (součástí MSTest verze 3.6) lze přidat možnosti za dvojitou pomlčku--
:dotnet test -- --minimum-expected-tests 10
TestingPlatformCommandLineArguments
Pomocí vlastnosti MSBuild:dotnet test -p:TestingPlatformCommandLineArguments=" --minimum-expected-tests 10 "
Další možnosti nástroje MSBuild
Integrace nástroje MSBuild poskytuje možnosti, které lze zadat v projektu uživatele 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 do souboru projektu přidejte <TestingPlatformShowTestsFailure>true</TestingPlatformShowTestsFailure>
vlastnost.
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>
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro