Sdílet prostřednictvím


Použití Microsoft.Testing.Platform v režimu VSTest dotnet test

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:

  1. Použijte dotnet test v režimu VSTest a zadejte <TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport> vlastnost MSBuild v souboru projektu.
  2. Používá dotnet test se v režimu MTP pro nativní podporu MTP v dotnet 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ář.