A Microsoft.Testing.Platform használata dotnet test
Ez a cikk bemutatja, hogyan futtathat dotnet test
teszteket a microsoft.testing.platformon Microsoft.Testing.Platform
keresztü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.Platform
migrá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 TestingPlatformCommandLineArguments
kell 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>
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: