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.
Az MTP támogatja a konfigurációs fájlok és környezeti változók használatát a tesztplatform viselkedésének konfigurálásához. Ez a cikk a tesztplatform konfigurálásához használható konfigurációs beállításokat ismerteti.
testconfig.json
A tesztplatform egy [appname] nevű konfigurációs fájlt használ,.testconfig.json a tesztplatform viselkedésének konfigurálásához. A testconfig.json fájl egy JSON-fájl, amely a tesztplatform konfigurációs beállításait tartalmazza.
A testconfig.json fájl struktúrája a következő:
{
"platformOptions": {
"resultDirectory": "./TestResults"
}
}
A platform automatikusan észleli és betölti a tesztprojekt kimeneti könyvtárában (a végrehajtható fájl közelében) található [appname].testconfig.json fájlt.
A Microsoft.Testing.Platform.MSBuild használatakor egyszerűen létrehozhat egy testconfig.json fájlt, amely automatikusan át lesz nevezve [alkalmazásnév].testconfig.json, és átkerül a tesztprojekt kimeneti könyvtárába.
Az MTP 1.5-től kezdve a parancssori argumentummal --config-file megadhatja a testconfig.jsonelérési útját. Ez a fájl elsőbbséget élvez az [appname].testconfig.json fájllal szemben.
Jegyzet
Az [appname].testconfig.json fájl felülíródik a későbbi buildeken.
Központosított testconfig.json használata
Ha azt szeretné, hogy több tesztprojekt is ugyanazt az testconfig.json fájlt használja, elhelyezheti azt egy központi helyen, és megadhatja a(z) --config-file használatával. Ha az MSBuild elérhető (például dotnet testdotnet run), az TestingPlatformCommandLineArguments MSBuild tulajdonság használatával automatikusan átadhatja az argumentumot. Ha ezt az adattár gyökerében található Directory.Build.props fájlhoz adja hozzá, az biztosítja, hogy minden tesztprojekt azonos konfigurációt használjon:
<PropertyGroup>
<TestingPlatformCommandLineArguments>
$(TestingPlatformCommandLineArguments) --config-file $(MSBuildThisFileDirectory)testconfig.json
</TestingPlatformCommandLineArguments>
</PropertyGroup>
Konfigurációs elsőbbség
Ha ugyanazt a beállítást több módon is meg lehet adni, az MTP a következő sorrendben oldja fel (az első egyezés nyer):
- Parancssori argumentumok (például
--results-directory) - Környezeti változók
- testconfig.json beállítások
- Beépített alapértelmezett beállítások
Platformbeállítások
A platformOptionstestconfig.json fájl szakasza a tesztplatform alapvető viselkedését konfigurálja. Az alábbi táblázat az összes támogatott platformbeállítást felsorolja:
| Bejegyzés | Alapértelmezett | Leírás |
|---|---|---|
resultDirectory |
TestResults |
Az a könyvtár, ahol a teszteredmények találhatók. Lehet relatív elérési út (az aktuális munkakönyvtárhoz viszonyítva értelmezve) vagy abszolút elérési út. A --results-directory parancssori beállítás elsőbbséget élvez. |
exitProcessOnUnhandledException |
false |
Ha a(z) true értékre van állítva, a tesztgazda folyamata kezeletlen kivétel esetén azonnal kilép a szabályos leállás engedélyezése helyett. A TESTINGPLATFORM_EXIT_PROCESS_ON_UNHANDLED_EXCEPTION környezeti változó (értékek 1 vagy 0) elsőbbséget élveznek. |
Jegyzet
További belső platformopciók érhetők el haladó forgatókönyvekhez (például a tesztgazda-vezérlők named pipe időkorlátjaihoz). Ezek a lehetőségek az infrastruktúra használatára szolgálnak, és ezekre itt nem vonatkoznak.
Példa:
{
"platformOptions": {
"resultDirectory": "../../TestResults",
"exitProcessOnUnhandledException": false
}
}
Környezeti változók a testconfig.json fájlban
Jegyzet
Az MTP-ben a 2.3.0-s verziótól kezdve érhető el.
A environmentVariables szakasz a tesztelési folyamat környezeti változóit állítja be a kezdés előtt. Használjon sztringértékeket minden változóhoz.
{
"environmentVariables": {
"DOTNET_ENVIRONMENT": "Development",
"FEATURE_FLAG": "true"
}
}
CLI-kapcsolók a testconfig.json fájlban
Az MTP 2.3.0 előtti verziókban az olyan bővítményfunkciók, mint a összeomlási állapotkép, a lefagyási állapotkép, az újrapróbálkozás, a TRX-jelentések és a kódlefedettség, nem konfigurálhatók a testconfig.json fájlon keresztül. Ezek a funkciók kizárólag parancssori argumentumokkal vannak konfigurálva.
Az MTP 2.3.0-tól kezdve a parancssori felület beállításai testconfig.json keresztül IConfigurationolvashatók. Ez a támogatás bővítménybeállításokat is tartalmaz, így JSON-bejegyzéseket használhat olyan beállításokhoz, amelyeket nem szeretne átadni a parancssornak minden futtatáskor. A parancssori argumentumok továbbra is elsőbbséget élveznek.
A parancssori beállítások teljes referenciáját az MTP parancssori felületének beállításaira vonatkozó hivatkozásban talál.
Keretrendszerspecifikus beállítások tesztelése
A tesztelési keretrendszerek saját konfigurációs szakaszokat határozhatnak meg a testconfig.json fájlban. Tekintse meg a tesztelési keretrendszer dokumentációját:
- MSTest: MSTest konfigurálása – testconfig.json
- xUnit.net v3: xUnit.net testconfig.json
- NUnit: A Microsoft.Testing.Platform legújabb támogatásával kapcsolatban tekintse meg az NUnit dokumentációját.
- TUnit: A Microsoft.Testing.Platform legújabb támogatásával kapcsolatban lásd a TUnit dokumentációját.
testconfig.json mintafájl
Az alábbi példa egy testconfig.json fájlt mutat be, amely a platformbeállításokat és az MSTest-beállításokat konfigurálja:
{
"platformOptions": {
"resultDirectory": "./TestResults"
},
"mstest": {
"parallelism": {
"enabled": true,
"workers": 4,
"scope": "method"
},
"timeout": {
"test": 30000
},
"execution": {
"considerFixturesAsSpecialTests": true
}
}
}
Migrálás a .runsettings fájlról a testconfig.json fájlra
Ha a .runsettings fájlból migrál, az alábbi táblázat megfelelteti a gyakori beállításokat a testconfig.json megfelelőinek vagy alternatíváinak:
| .runsettings beállítás | a testconfig.json megfelelője | Jegyzetek |
|---|---|---|
RunConfiguration/ResultsDirectory |
platformOptions.resultDirectory |
|
RunConfiguration/MaxCpuCount |
Nincs egyenértékű | A folyamatszintű párhuzamosságot a dotnet test --max-parallel-test-modules vagy az MSBuild /m kapcsoló szabályozza. |
MSTest/* |
mstest.* |
Lásd: MSTest konfigurálása – testconfig.json. |
xUnit/* |
xUnit.* |
Lásd : xUnit.net testconfig.json. |
LoggerRunSettings/Loggers |
Parancssori felület beállításai | Használjon --report-trx vagy hasonló parancssori felületi beállításokat. Az MTP 2.3.0-s verziójától kezdve az MTP képes a parancssori kapcsolókat a testconfig.json fájlból beolvasni. |
DataCollectionRunSettings (hibáztatás) |
Parancssori felület beállításai | Használja a --crashdump és a --hangdump CLI-beállításokat. Az MTP a 2.3.0-s verziótól kezdve képes a testconfig.json fájlból beolvasni a parancssori kapcsolókat. Lásd: Összeomlási és lefagyási memóriaképek. |
DataCollectionRunSettings (lefedettség) |
Parancssori felület beállításai | Használja a(z) --coverage parancssori kapcsolót. Az MTP 2.3.0-s verziójától kezdve az MTP be tudja olvasni a CLI-beállításokat a testconfig.json fájlból. Lásd : Kódlefedettség. |
TestRunParameters |
--test-parameter CLI |
Használja --test-parameter key=value a parancssorban. |
Környezeti változók
A környezeti változók felhasználhatók a futtatókörnyezet konfigurációs adatainak megadására.
Jegyzet
A környezeti változók elsőbbséget élveznek a testconfig.json fájl konfigurációs beállításaival szemben.
TESTINGPLATFORM_EXIT_PROCESS_ON_UNHANDLED_EXCEPTION környezeti változó
Ha be van 1állítva, a tesztgazdafolyamat azonnal kilép a kezeletlen kivételekből. Ha a(z) 0 értékre van állítva, a platform lehetővé teszi a szabályos leállítást. Ez a beállítás elsőbbséget élvez a platformOptions:exitProcessOnUnhandledException konfigurációval szemben.
TESTINGPLATFORM_DEFAULT_HANG_TIMEOUT környezeti változó
Felülbírálja a tesztgazda vezérlője és a tesztgazda közötti elnevezett csővezetékes kapcsolatokhoz használt alapértelmezett várakozási időkorlátot (300 másodperc). Az értéknek TimeSpankompatibilis sztringnek kell lennie.
TESTINGPLATFORM_UI_LANGUAGE környezeti változó
Az MTP 1.5-től kezdődően ez a környezeti változó beállítja a platform nyelvét az üzenetek és naplók területi érték használatával való megjelenítéséhez, például en-us. Ez a nyelv elsőbbséget élvez a Visual Studio és a .NET SDK nyelvével szemben. A támogatott értékek megegyeznek a Visual Studióval. További információkért tekintse meg a telepítő nyelvének módosításáról szóló szakaszt a Visual Studio telepítési dokumentációjában.
TESTINGPLATFORM_DIAGNOSTIC környezeti változó
Ha 1értékre van állítva, engedélyezi a diagnosztikai naplózást.
TESTINGPLATFORM_DIAGNOSTIC_VERBOSITY környezeti változó
Meghatározza a részletességi szintet, ha a diagnosztika engedélyezve van. Az elérhető értékek a következők: Trace, Debug, Information, Warning, Errorvagy Critical.
TESTINGPLATFORM_DIAGNOSTIC_OUTPUT_DIRECTORY környezeti változó
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_FILE_PREFIX környezeti változó
A naplófájl nevének előtagja. Alapértelmezett érték: "log_". Megfelel a --diagnostic-file-prefix parancssori beállításnak.
Jegyzet
Ez a környezeti változó neve az MTP-ben érhető el a 2.3.0-s verziótól kezdve. Az örökölt TESTINGPLATFORM_DIAGNOSTIC_OUTPUT_FILEPREFIX környezeti változó továbbra is megfelel a visszamenőleges kompatibilitásnak, de elavult, és egy későbbi főverzióban eltávolítható. Ha mindkét változó be van állítva, TESTINGPLATFORM_DIAGNOSTIC_FILE_PREFIX elsőbbséget élvez.
TESTINGPLATFORM_DIAGNOSTIC_SYNCHRONOUS_WRITE környezeti változó
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. Megfelel a --diagnostic-synchronous-write parancssori beállításnak.
Jegyzet
Ez a környezeti változó neve az MTP-ben érhető el a 2.3.0-s verziótól kezdve. Az örökölt TESTINGPLATFORM_DIAGNOSTIC_FILELOGGER_SYNCHRONOUSWRITE környezeti változó továbbra is megfelel a visszamenőleges kompatibilitásnak, de elavult, és egy későbbi főverzióban eltávolítható. Ha mindkét változó be van állítva, TESTINGPLATFORM_DIAGNOSTIC_SYNCHRONOUS_WRITE elsőbbséget élvez.
TESTINGPLATFORM_EXITCODE_IGNORE környezeti változó
A figyelmen kívül hagyandó kilépési kódok pontosvesszővel tagolt listája. Ha egy kilépési kód figyelmen kívül van hagyva, a folyamat ehelyett 0 értékkel tér vissza. Például a TESTINGPLATFORM_EXITCODE_IGNORE=2;8 figyelmen kívül hagyja a sikertelen teszteket és azokat az eseteket, amikor egyetlen teszt sem futott le.
TESTINGPLATFORM_NOBANNER környezeti változó
Ha be van 1 állítva, vagy trueletiltja az indítási szalagcímet, a szerzői jogi üzenetet és a telemetriai szalagcímet. Egyenértékű a --no-banner parancssori lehetőséggel. A DOTNET_NOLOGO környezeti változónak ugyanaz a hatása.
NO_COLOR környezeti változó
Ha bármilyen nem üres értékre van állítva, letiltja az összes ANSI-színkimenetet. Az MTP tiszteletben tartja a konvenciót NO_COLOR .
Jegyzet
Az MTP-ben a 2.3.0-s verziótól kezdve érhető el.
DOTNET_NOLOGO környezeti változó
Ha be van 1 állítva, vagy trueletiltja az indítási szalagcímet, a szerzői jogi üzenetet és a telemetriai szalagcímet. Ez a szabványos .NET CLI környezeti változó, amelyet az MTP tiszteletben tart. Lásd még: TESTINGPLATFORM_NOBANNER.
TESTINGPLATFORM_WAIT_ATTACH_DEBUGGER környezeti változó
Ha be van 1állítva, a tesztelési folyamat indításkor szünetel, és megvárja, amíg a hibakereső csatolva lesz a folytatás előtt. Egyenértékű a --debug parancssori lehetőséggel. Böngészőplatformokon nem támogatott.
Jegyzet
Ez a környezeti változó az MTP-ben érhető el az 1.6.0-s verziótól kezdve.
TESTINGPLATFORM_LAUNCH_ATTACH_DEBUGGER környezeti változó
Amikor 1 értékre van állítva, a tesztfolyamat indításkor meghívja a Debugger.Launch() elemet, ami arra készteti a rendszert, hogy elindítson egy JIT hibakeresőt, és csatlakoztassa azt a folyamathoz. Ezzel a változóval az indításkor fellépő, még a hibakereső manuális csatlakoztatása előtt jelentkező problémákat hibakeresheti (például a kiszolgálói módú kapcsolatfelvételt). A nem Windows platformokon a viselkedés a konfigurált JIT-hibakeresőtől függ.
Jegyzet
Ez a környezeti változó az MTP-ben érhető el az 1.6.0-s verziótól kezdve.
Jegyzet
A diagnosztikai környezet változói elsőbbséget élveznek a megfelelő --diagnostic-* parancssori argumentumokkal szemben.