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.
Ez a cikk hibaelhárítási útmutatót tartalmaz a következőhöz Microsoft.Testing.Platform: .
Kilépési kódok
Microsoft.Testing.Platform ismert kilépési kódokat használ a tesztelési hibák vagy alkalmazáshibák közléséhez. A kilépési kódok 0-nél kezdődnek, és nem negatívak.
| Kilépési kód | Részletek |
|---|---|
0 |
A 0 kilépési kód a sikerességet jelzi. Az összes futtatásra kiválasztott teszt befejeződött, és nem történt hiba. |
1 |
A 1 kilépési kód ismeretlen hibákat jelez, és egyfajta általános gyűjtőként működik. További hibainformációkat és részleteket a kimenetben talál. |
2 |
A rendszer egy kilépési 2 kóddal jelzi, hogy legalább egy teszthiba történt. |
3 |
A kilépési kód 3 azt jelzi, hogy a tesztmunkamenet megszakadt. A munkamenetek például a CtrlC+ megszakíthatók. |
4 |
A kilépési kód 4 azt jelzi, hogy a használt bővítmények beállítása érvénytelen, és a tesztmunkamenet nem futtatható. |
5 |
A kilépési kód 5 azt jelzi, hogy a tesztalkalmazásnak átadott parancssori argumentumok érvénytelenek voltak. |
6 (már nincs használatban) |
A kilépési kódot 6 a platform már nem hozza létre; korábban azt jelezte, hogy a tesztmunkamenet nem implementált funkciót használ. |
7 |
A kilépési kód 7 azt jelzi, hogy a tesztelési munkamenet nem sikerült, és valószínűleg összeomlott. Lehetséges, hogy ezt egy tesztvezérlő bővítményén keresztül futtatott tesztmunkamenet okozta. |
8 |
A kilépési kód 8 azt jelzi, hogy a teszt munkamenete nulla tesztet futtatott. |
9 |
A kilépési kód 9 azt jelzi, hogy a végrehajtott tesztek minimális végrehajtási szabályzata megsértődött. |
10 |
A kilépési kód 10 azt jelzi, hogy a tesztadapter, a Testing.Platform Test Framework, az MSTest, az NUnit vagy az xUnit nem futtatott teszteket olyan infrastruktúra-okból, amely nem kapcsolódik a teszt sajátjához. Ilyen például, ha nem sikerül létrehozni a tesztekhez szükséges szerelvényt. |
11 |
A kilépési kód 11 azt jelzi, hogy a tesztfolyamat kilép, ha a függő folyamat kilép. |
12 |
A kilépési kód 12 azt jelzi, hogy a tesztmunkamenet nem futott, mert az ügyfél nem támogatja a támogatott protokollverziókat. |
13 |
A kilépési kód 13 azt jelzi, hogy a teszt munkamenete leállt, mert elérte a megadott számú sikertelen tesztet a parancssori beállítással --maximum-failed-tests . További információ : A Microsoft.Testing.Platform parancssori felület beállításainak ismertetése |
A részletes naplózás engedélyezéséhez és a problémák elhárításához tekintse meg a diagnosztikai naplózást.
Adott kilépési kódok figyelmen kívül hagyása
Microsoft.Testing.Platform alapértelmezés szerint szigorú, de konfigurálhatóságot tesz lehetővé. Így a felhasználók eldönthetik, hogy mely kilépési kódokat kell figyelmen kívül hagyni (a kilépési kód az eredeti kilépési 0 kód helyett lesz visszaadva).
Adott kilépési kódok figyelmen kívül hagyásához használja a --ignore-exit-code parancssori beállítást vagy a környezeti változót TESTINGPLATFORM_EXITCODE_IGNORE . Az elfogadott érvényes formátum a figyelmen kívül hagyandó kilépési kódok pontosvesszővel elválasztott listája (például --ignore-exit-code 2;3;8). Gyakori forgatókönyv az, hogy a tesztelési hibák nem eredményezhetnek nem nulla kilépési kódot (ami a kilépési kód 2 figyelmen kívül hagyásának felel meg).
Diagnosztikai naplózás
A platform beépített diagnosztikai naplózást biztosít a tesztvégrehajtás hibaelhárításához. A diagnosztikai naplózást parancssori beállításokkal vagy környezeti változókkal engedélyezheti.
Parancssori beállítások
A következő platformbeállítások hasznos információkat nyújtanak a tesztalkalmazások hibaelhárításához:
--info--diagnostic--diagnostic-synchronous-write--diagnostic-verbosity--diagnostic-file-prefix--diagnostic-output-directory
Környezeti változók
A diagnosztikai naplókat a környezeti változók használatával is engedélyezheti:
| Környezeti változó neve | Description |
|---|---|
TESTINGPLATFORM_DIAGNOSTIC |
Ha 1értékre van állítva, engedélyezi a diagnosztikai naplózást. |
TESTINGPLATFORM_DIAGNOSTIC_VERBOSITY |
Meghatározza a részletességi szintet. Az elérhető értékek a következők: Trace, Debug, Information, Warning, Errorvagy Critical. |
TESTINGPLATFORM_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. |
TESTINGPLATFORM_DIAGNOSTIC_OUTPUT_FILEPREFIX |
A naplófájl nevének előtagja. Alapértelmezett érték: "log_". |
TESTINGPLATFORM_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. |
Megjegyzés:
A környezeti változók elsőbbséget élveznek a parancssori argumentumokkal szemben.
Konfigurációs hibák elhárítása
Microsoft.Testing.Platform.MSBuild
Az alábbiakban a Microsoft.Testing.Platform.MSBuild szolgáltatással kapcsolatos gyakori konfigurációs hibák szerepelnek.
CS8892 hiba: A "TestingPlatformEntryPoint.Main(string[])" metódus nem használható belépési pontként, mert a program.Main(sztring[])" szinkron belépési pont található
Egy tesztprojekt belépési pontjának (Main) manuális definiálása vagy tesztprojektre való hivatkozás egy olyan alkalmazásból, amely már rendelkezik belépési ponttal, ütközést eredményez a Microsoft.Testing.Platformáltal létrehozott belépési ponttal. A probléma elkerülése érdekében hajtsa végre az alábbi lépések egyikét:
Távolítsa el a manuálisan megadott belépési pontot, amely általában a
Mainmetódus a Program.csfájlban, és hagyja, hogy a tesztelési platform hozzon létre Önnek egyet.Tiltsa le a belépési pont létrehozását az
<GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>MSBuild tulajdonság beállításával.A tesztprojektre hivatkozó projekt
Microsoft.Testing.Platform.MSBuildMSBuild tulajdonságának beállításával teljesen tiltsa le a<IsTestingPlatformApplication>false</IsTestingPlatformApplication>tranzitív függőséget. Erre akkor van szükség, ha nem tesztprojektből származó tesztprojektre hivatkozik, például egy tesztalkalmazásra hivatkozó konzolalkalmazásra.
Microsoft.Testing.Extensions.Fakes
Hamis hiba: Nem sikerült feloldani a profiler elérési útját COR_PROFILER_PATH és COR_PROFILER környezeti változókból
Ez a hiba akkor fordulhat elő, ha nem minden Fakes összetevő található a bin mappában.
- Győződjön meg arról, hogy a projekt használja az MSTest.SDK-t , vagy hivatkozik a Microsoft.Testing.Extensions.Fakes-re .
- .NET-keretrendszerprojektek esetében kerülje a
<PlatformTarget>AnyCPU</PlatformTarget>beállítását, mivel ez azt eredményezi, hogy a NuGet nem másolja az összes fájlt a tárolómappába.