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.
Použití Microsoft.Testing.Platform v režimu VSTest
Tento článek vysvětluje integraci dotnet test microsoft.Testing.Platform, která je poskytována Microsoft.Testing.Platform.MSBuild při spuštění v režimu VSTest .dotnet test
Než se ponoříte do tohoto článku, doporučujeme nejprve přečíst testování pomocí testu dotnet, který vysvětluje dva režimy dotnet test (režimy VSTest a MTP).
Ve výchozím nastavení dotnet test používá nástroj VSTest ke spouštění testů. Pokud chcete povolit podporu v Microsoft.Testing.Platformdotnet testaplikaci, máte dvě možnosti:
- Použijte
dotnet testv režimu VSTest a zadejte<TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>vlastnost MSBuild v souboru projektu. - Používá
dotnet testse v režimu MTP pro nativní podporu MTP vdotnet test, která se podporuje pouze od sady .NET 10 SDK.
Obě možnosti jsou podrobně vysvětleny v článku Testování pomocí testu dotnet .
Důležitý
Zbytek tohoto článku je specifický pro režim VSTest v dotnet testsystému .
Upozornění
Počínaje sadou .NET 10 SDK se doporučuje nepoužívat režim dotnet test VSTest při spuštění s Microsoft.Testing.Platform.
Zobrazit selhání pro 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 na příkazovém řádku -p:TestingPlatformShowTestsFailure=true nebo do souboru projektu přidejte vlastnost <TestingPlatformShowTestsFailure>true</TestingPlatformShowTestsFailure>.
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>
<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ý zapisuje podkladový testovací spustitelný soubor, zachytí a skryje 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 nebo 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>
<OutputType>Exe</OutputType>
<EnableMSTestRunner>true</EnableMSTestRunner>
<TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>
<!-- Add this to your project file. -->
<TestingPlatformCaptureOutput>false</TestingPlatformCaptureOutput>
</PropertyGroup>
<!-- ... -->
</Project>
Důležitý
Všechny výše uvedené příklady přidávají do souboru csproj vlastnosti, jako jsou EnableMSTestRunner, TestingPlatformDotnetTestSupporta TestingPlatformCaptureOutput. Důrazně však doporučujeme nastavit tyto vlastnosti v Directory.Build.props. Tímto způsobem ho nemusíte přidávat do každého souboru testovacího projektu a nemusíte riskovat zavedení nového projektu, který nenastavuje tyto vlastnosti a končí řešením, ve kterém jsou některé projekty VSTest, zatímco jiné jsou Microsoft.Testing.Platform, které nemusí správně fungovat a není podporovaný scénář.