Sdílet prostřednictvím


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>