Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Microsoft.Testing.Platform használata VSTest módban
Ebben a cikkben a dotnet test
Microsoft.Testing.Platform integrációját ismertetjük, amelyet a VSTest módban történő dotnet test
futtatáskor a Microsoft.Testing.Platform.MSBuild biztosít.
Mielőtt belemerülnénk ebbe a cikkbe, javasoljuk, hogy először olvassa el a Tesztelés dotnetes teszttel című cikket, amely ismerteti a két módot dotnet test
(VSTest és MTP mód).
Alapértelmezés szerint dotnet test
a VSTest használatával futtatja a teszteket. A támogatás engedélyezéséhez a Microsoft.Testing.Platform
a dotnet test
-ben, két lehetőség közül választhat:
- Használja a
dotnet test
VSTest módban, és adja meg a<TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>
MSBuild tulajdonságot a projektfájlban. - MTP
dotnet test
módban használható az MTPdotnet test
natívabb támogatásához, amely csak a .NET 10 SDK-tól kezdve támogatott.
Mindkét lehetőséget részletesen ismertetjük a Dotnet-teszttel foglalkozó cikkben.
Fontos
A cikk további része a VSTest módra dotnet test
vonatkozik.
Figyelmeztetés
A .NET 10 SDK-tól kezdve ajánlott, hogy ne használja a VSTest módot dotnet test
a Microsoft.Testing.Platform használatakor.
Hiba megjelenítése tesztenként
Alapértelmezés szerint a tesztelési hibák egy .log fájlba vannak összegezve, és tesztprojektenként egyetlen hiba lesz jelentve az MSBuildnek.
A sikertelen tesztenkénti hibák megjelenítéséhez adja meg a parancssorban a -p:TestingPlatformShowTestsFailure=true
, vagy adja hozzá a <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>
<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 minden konzolkimenet, amelyet a mögöttes teszt futtatható fájl ír, rögzítésre és elrejtésre kerül 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.
Ha az MSBuild kimenettel együtt szeretné megjeleníteni ezeket az információkat, használja a <TestingPlatformCaptureOutput>false</TestingPlatformCaptureOutput>
.
Ez a beállítás nem befolyásolja, hogy a tesztelési keretrendszer hogyan rögzíti a konzolra a Console.WriteLine
-val vagy más hasonló módon írt felhasználói kimenetet.
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>
<OutputType>Exe</OutputType>
<EnableMSTestRunner>true</EnableMSTestRunner>
<TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>
<!-- Add this to your project file. -->
<TestingPlatformCaptureOutput>false</TestingPlatformCaptureOutput>
</PropertyGroup>
<!-- ... -->
</Project>
Fontos
A fenti példák olyan tulajdonságokat adnak hozzá, mint a EnableMSTestRunner
, a TestingPlatformDotnetTestSupport
és a TestingPlatformCaptureOutput
a csproj fájlban. Azonban erősen ajánlott, hogy ezeket a tulajdonságokat a Directory.Build.props
-ban állítsd be. Így nem kell hozzáadnia minden tesztprojektfájlhoz, és nem kockáztatja meg, hogy olyan új projektet vezessen be, amely nem állítja be ezeket a tulajdonságokat, és végül olyan megoldást kapjon, ahol egyes projektek VSTestek, míg mások a Microsoft.Testing.Platform, ami nem biztos, hogy helyesen működik, és nem támogatott forgatókönyv.