Udostępnij za pośrednictwem


Używanie biblioteki Microsoft.Testing.Platform z dotnet test

W tym artykule opisano sposób uruchamiania dotnet test testów w przypadku korzystania z programu Microsoft.Testing.Platformoraz różne opcje, które są dostępne do skonfigurowania danych wyjściowych programu MSBuild generowanych podczas uruchamiania testów za pośrednictwem witryny Microsoft.Testing.Platform.

W tym artykule pokazano, jak używać dotnet test polecenia do uruchamiania wszystkich testów w rozwiązaniu (*.sln), które używa metody Microsoft.Testing.Platform.

dotnet test integracja

Polecenie dotnet test to sposób uruchamiania testów z rozwiązań, projektów lub już skompilowanych zestawów. Microsoft.Testing.Platform łączy się z tą infrastrukturą, aby zapewnić ujednolicony sposób uruchamiania testów, szczególnie w przypadku migracji z programu VSTest do Microsoft.Testing.Platformprogramu .

dotnet test integracja — tryb VSTest

Microsoft.Testing.Platform Zapewnia warstwę zgodności (VSTest Bridge) do bezproblemowej dotnet test pracy.

Testy można uruchomić, uruchamiając następujące polecenie:

dotnet test

Ta warstwa uruchamia test za pośrednictwem narzędzia VSTest i integruje się z nim na poziomie adaptera vsTest Test Framework.

dotnet test — Tryb Microsoft.Testing.Platform

Domyślnie program VSTest służy do uruchamiania Microsoft.Testing.Platform testów. Pełne ustawienie można włączyć Microsoft.Testing.Platform , określając <TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport> ustawienie w pliku projektu. To ustawienie wyłącza program VSTest i dzięki zależności przejściowej pakietowi NuGet Microsoft.Testing.Platform.MSBuild uruchamia bezpośrednio wszystkie Microsoft.Testing.Platform wzmocnione projekty testowe w rozwiązaniu. Działa bezproblemowo, jeśli przejdziesz bezpośredni Microsoft.Testing.Platform projekt testowy.

<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>

W tym trybie można podać dodatkowe parametry, które są używane do wywoływania aplikacji testowej w jeden z następujących sposobów:

  • Microsoft.Testing.Platform Począwszy od wersji 1.4 (dołączonej do biblioteki MSTest w wersji 3.6), można dodać opcje po podwójnej kreski -- w wierszu polecenia:

    dotnet test -- --minimum-expected-tests 10
    
  • Za pomocą TestingPlatformCommandLineArguments właściwości MSBuild w wierszu polecenia:

    dotnet test -p:TestingPlatformCommandLineArguments="--minimum-expected-tests 10"
    

    Lub w pliku projektu:

    <PropertyGroup>
      ...
      <TestingPlatformCommandLineArguments>--minimum-expected-tests 10</TestingPlatformCommandLineArguments>
    </PropertyGroup>
    

Dodatkowe opcje programu MSBuild

Integracja z programem MSBuild udostępnia opcje, które można określić w pliku projektu lub za pośrednictwem właściwości globalnych w wierszu polecenia, takich jak -p:TestingPlatformShowTestsFailure=true.

Są to dostępne opcje:

Pokaż błąd na test

Domyślnie błędy testów są sumowane w pliku .log , a pojedynczy błąd na projekt testowy jest zgłaszany w programie MSBuild.

Aby wyświetlić błędy na test niepowodzenia, określ -p:TestingPlatformShowTestsFailure=true w <TestingPlatformShowTestsFailure>true</TestingPlatformShowTestsFailure> wierszu polecenia lub dodaj właściwość do pliku projektu.

W wierszu polecenia:

dotnet test -p:TestingPlatformShowTestsFailure=true

Lub w pliku 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>

Pokaż kompletne dane wyjściowe platformy

Domyślnie wszystkie dane wyjściowe konsoli, które są przechwytywane i ukryte przed użytkownikiem, są przechwytywane przez plik wykonywalny bazowego pliku wykonywalnego. Obejmuje to baner, informacje o wersji i sformatowane informacje o teście.

Aby wyświetlić te informacje razem z użyciem<TestingPlatformCaptureOutput>false</TestingPlatformCaptureOutput> danych wyjściowych programu MSBuild.

Ta opcja nie ma wpływu na sposób przechwytywania danych wyjściowych użytkownika zapisanych przez Console.WriteLine użytkownika lub innych podobnych sposobów zapisu w konsoli programu .

W wierszu polecenia:

dotnet test -p:TestingPlatformCaptureOutput=false

Lub w pliku 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>