Megosztás a következőn keresztül:


A Microsoft.Testing.Platform használata dotnet test

Ez a cikk bemutatja, hogyan futtathat dotnet test teszteket a microsoft.testing.platformon Microsoft.Testing.Platformkeresztüli tesztek futtatásakor, valamint az MSBuild kimenet konfigurálásához rendelkezésre álló különböző lehetőségeket.

Ez a cikk bemutatja, hogyan futtatható dotnet test az összes teszt egy olyan megoldásban (*.sln), amely használja Microsoft.Testing.Platform.

dotnet test Integráció

A dotnet-teszt parancs lehetővé teszi a megoldásokból, projektekből vagy már összeállított szerelvényekből származó tesztek futtatását. A Microsoft.Testing.Platform csatlakozik ehhez az infrastruktúrához, hogy egységes módot biztosítson a tesztek futtatására, különösen akkor, ha a VSTestről a következőre Microsoft.Testing.Platformmigrál.

dotnet test integráció – VSTest mód

Microsoft.Testing.Platform kompatibilitási réteget (VSTest Bridge) biztosít a zökkenőmentes munkavégzéshez dotnet test .

A tesztek a következő futtatásával futtathatók:

dotnet test

Ez a réteg a VSTesten keresztül futtatja a tesztet, és a VSTest Test Framework Adapter szintjén integrálható vele.

dotnet test - Microsoft.Testing.Platform mód

Alapértelmezés szerint a VSTest a tesztek futtatására Microsoft.Testing.Platform szolgál. A teljes Microsoft.Testing.Platform érték engedélyezéséhez adja meg a beállítást a <TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport> projektben. Ez a beállítás letiltja a VSTestet, és a Microsoft.Testing.Platform.MSBuild NuGet csomag tranzitív függőségének köszönhetően közvetlenül futtatja a megoldás összes Microsoft.Testing.Platform engedélyezett tesztprojektét. Zökkenőmentesen működik, ha egy közvetlen Microsoft.Testing.Platform tesztprojektet ad át.

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

Ebben a módban a futtatáshoz további paraméterek nem közvetlenül a parancssoron keresztül lesznek megadva. Ezeket msBuild tulajdonságként TestingPlatformCommandLineArgumentskell megadni:

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

További MSBuild-beállítások

Az MSBuild integráció olyan lehetőségeket biztosít, amelyek megadhatóak a felhasználói projektben vagy a parancssor globális tulajdonságain keresztül, például -p:TestingPlatformShowTestsFailure=true.

Az alábbi lehetőségek érhetők el:

Hiba megjelenítése tesztenként

Alapértelmezés szerint a tesztelési hibák egy .log fájlba vannak összegezve, és a tesztprojektenként egyetlen hiba lesz jelentve az MSBuildnek.

A hibák sikertelen tesztenkénti megjelenítéséhez adja meg -p:TestingPlatformShowTestsFailure=true a parancssort, vagy adjon hozzá <TestingPlatformShowTestsFailure>true</TestingPlatformShowTestsFailure> tulajdonságot a projektfájlhoz.

Parancssorban:

dotnet test -p:TestingPlatformShowTestsFailure=true

Vagy a projektfájlban:

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

Teljes platformkimenet megjelenítése

Alapértelmezés szerint a rendszer minden olyan konzolkimenetet rögzít, amelyet a mögöttes teszt végrehajtható írásai rögzítenek és elrejtenek a felhasználó elől. Ez magában foglalja a szalagcímet, a verzióinformációkat és a formázott tesztelési információkat.

Ezek az információk az MSBuild kimeneti használatával<TestingPlatformCaptureOutput>false</TestingPlatformCaptureOutput> együtt jelennek meg.

Ez a beállítás nem befolyásolja, hogy a tesztelési keretrendszer hogyan rögzíti a felhasználói kimenetet, vagy Console.WriteLine más hasonló módon írja a konzolra.

Parancssorban:

dotnet test -p:TestingPlatformCaptureOutput=false

Vagy a projektfájlban:

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