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.Platform
oraz 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.Platform
programu .
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>