A Microsoft.Testing.Platform áttekintése
A Microsoft.Testing.Platform a VSTest egyszerű és hordozható alternatíva a tesztek minden környezetben való futtatásához, beleértve a folyamatos integrációs (CI) folyamatokat, a parancssori felületet, a Visual Studio Test Explorert és a VS Code Text Explorert. A Microsoft.Testing.Platform közvetlenül a tesztprojektekbe van beágyazva, és nincs más alkalmazásfüggőség, például vstest.console
a tesztek futtatásához szükséges vagy dotnet test
szükséges.
Microsoft.Testing.Platform
nyílt forráskód. A kódot a microsoft/testfx GitHub-adattárban találjaMicrosoft.Testing.Platform
.
Támogatott tesztelési keretrendszerek
- MSTest. Az MSTestben a támogatás
Microsoft.Testing.Platform
az MSTest-futón keresztül történik. - NUnit. Az NUnitban a támogatás
Microsoft.Testing.Platform
az NUnit futón keresztül történik. - xUnit.net: XUnit.net a támogatás
Microsoft.Testing.Platform
xUnit.net futón keresztül történik. - TUnit: teljes egészében a
Microsoft.Testing.Platform
tetején, további információkért lásd a TUnit dokumentációját
Tesztek futtatása és hibakeresése
Microsoft.Testing.Platform
A tesztprojektek végrehajthatók, amelyek közvetlenül futtathatók (vagy hibakeresést végezhetnek). Nincs további teszt, amely konzolt vagy parancsot futtat. Ha hiba történik, az alkalmazás a legtöbb végrehajtható fájlhoz hasonlóan nem a kilépési kóddal lép ki. Az ismert kilépési kódokról további információt a Microsoft.Testing.Platform kilépési kódjaiban talál.
Fontos
Alapértelmezés szerint Microsoft.Testing.Platform
telemetriát gyűjt. Az elutasítással kapcsolatos további információkért és lehetőségekért tekintse meg a Microsoft.Testing.Platform telemetriát.
A tesztprojekt közzététele az alkalmazás használatával dotnet publish
és közvetlen futtatásával egy másik módszer a tesztek futtatására. Például a ../Contoso.MyTests.exe
Bizonyos esetekben a végrehajtható fájl előállításához dotnet build
is használható, de vannak olyan peremes esetek is, amelyeket figyelembe kell venni, ilyen natív AOT.
Használja a következő parancsot: dotnet run
A dotnet run
parancs a tesztprojekt létrehozásához és futtatásához használható. Ez a legegyszerűbb, bár néha leglassabb módszer a tesztek futtatására. A használat dotnet run
gyakorlatias, ha helyileg szerkeszti és futtatja a teszteket, mivel biztosítja, hogy a tesztprojekt szükség esetén újraépüljön. dotnet run
automatikusan megkeresi a projektet az aktuális mappában.
dotnet run --project Contoso.MyTests
További információ: dotnet run
dotnet run.
Használja a következő parancsot: dotnet exec
A dotnet exec
vagy dotnet
a parancs egy már létrehozott tesztprojekt végrehajtására (vagy futtatására) szolgál, ez alternatíva az alkalmazás közvetlen futtatására. dotnet exec
a beépített tesztprojekt dll-jének elérési útját igényli.
dotnet exec Contoso.MyTests.dll
vagy
dotnet Contoso.MyTests.dll
Feljegyzés
A végrehajtható tesztprojekt elérési útjának (*.exe) megadása hibát eredményez:
Error:
An assembly specified in the application dependencies manifest
(Contoso.MyTests.deps.json) has already been found but with a different
file extension:
package: 'Contoso.MyTests', version: '1.0.0'
path: 'Contoso.MyTests.dll'
previously found assembly: 'S:\t\Contoso.MyTests\bin\Debug\net8.0\Contoso.MyTests.exe'
További információ: dotnet exec
dotnet exec.
Használja a következő parancsot: dotnet test
Microsoft.Testing.Platform
kompatibilitási réteget vstest.console.exe
kínál a tesztekkel, és dotnet test
biztosítja, hogy az új végrehajtási forgatókönyv engedélyezésekor a korábbiakhoz hasonlóan futtassa a teszteket.
dotnet test Contoso.MyTests.dll
Beállítások
Az alábbi lista csak a platformbeállításokat ismertette. Az egyes bővítmények által megadott beállítások megtekintéséhez tekintse meg a bővítmény dokumentációjának lapját, vagy használja a --help
lehetőséget.
--diagnostic
Engedélyezi a diagnosztikai naplózást. Az alapértelmezett naplószint a következő Trace
. A fájl a következő névformátumú log_[MMddHHssfff].diag
kimeneti könyvtárban van megírva.
--diagnostic-filelogger-synchronouswrite
A beépített fájlnaplózót kényszeríti a naplók szinkronizálására. Olyan helyzetekben hasznos, amikor nem szeretné elveszíteni a naplóbejegyzéseket (ha a folyamat összeomlik). Ez lelassítja a teszt végrehajtását.
--diagnostic-output-directory
A diagnosztikai naplózás kimeneti könyvtára, ha nincs megadva, a fájl az alapértelmezett TestResults könyvtárban jön létre.
--diagnostic-output-fileprefix
A naplófájl nevének előtagja. Alapértelmezett érték: "log_"
.
--diagnostic-verbosity
A kapcsoló használatakor meghatározza a --diagnostic
részletességi szintet. Az elérhető értékek a következőkTrace
: , Debug
, Information
Warning
, Error
vagy Critical
.
--help
A parancs használatának leírását nyomtatja ki.
-ignore-exit-code
Lehetővé teszi, hogy néhány nem nulla kilépési kód figyelmen kívül legyen hagyva, és ehelyett a következőképpen adja vissza: 0
. További információ: Adott kilépési kódok figyelmen kívül hagyása.
--info
Speciális információkat jelenít meg a .NET-tesztalkalmazásról, például:
- A platform.
- A környezet.
- Minden regisztrált parancssori szolgáltató, például annak,
name
ésversion
description
options
. - Minden regisztrált eszköz, például annak,
command
,name
,version
, ,description
és minden parancssori szolgáltató.
Ezzel a funkcióval megismerheti azokat a bővítményeket, amelyek ugyanazt a parancssori beállítást regisztrálnák, vagy a bővítmény (vagy a platform) több verziója között elérhető lehetőségek változásait.
--list-tests
Az elérhető tesztek listája. A tesztek nem lesznek végrehajtva.
--minimum-expected-tests
Meghatározza a várhatóan futtatandó tesztek minimális számát. Alapértelmezés szerint legalább egy teszt futtatása várható.
--results-directory
A könyvtár, ahol a teszteredmények el lesznek helyezve. Ha a megadott könyvtár nem létezik, létrejön. Az alapértelmezett érték a tesztalkalmazást tartalmazó könyvtárban van TestResults
.
MSBuild-integráció
A Microsoft.Testing.Platform.MSBuild NuGet csomag különböző integrációkat biztosít az MSBuilddelMicrosoft.Testing.Platform
:
- Támogatás a következőhöz
dotnet test
: . További információ: dotnet test integration. ProjectCapability
A szükséges és a Tesztböngészők által igényeltVisual Studio
Visual Studio Code
támogatás.- A belépési pont automatikus generálása (
Main
metódus). - A konfigurációs fájl automatikus létrehozása.
Feljegyzés
Ez az integráció tranzitív módon működik (a csomagra hivatkozó másik projektre hivatkozó projekt úgy fog viselkedni, mintha a csomagra hivatkozik), és letiltható az IsTestingPlatformApplication
MSBuild tulajdonságon keresztül.