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 a Microsoft.Testing.Platform egyéni tesztelési keretrendszereit vagy bővítményeit készítő fejlesztők számára készült.
Jegyzet
A teljes mintakódot a Microsoft Test Framework adattárában található TestingPlatformExamples tekintheti meg.
Bővítménypont összefoglalása
| Bővítménypont | Folyamaton belül/folyamaton kívül | Cél |
|---|---|---|
| ITestFramework | Folyamatban | Az egyetlen kötelező bővítmény. Felismeri és futtatja a teszteket. |
| IDataConsumer | Folyamatban | Feliratkozik az üzenetbusz tesztadataira, és feldolgozza azokat. |
| ITestSessionLifetimeHandler | Folyamatban | A tesztmunkamenet előtt és után futtatja a kódot. |
| ITestApplicationLifecycleCallbacks | Folyamatban | A kódot a tesztgazda elején és végén futtatja. |
| ICommandLineOptionsProvider | Mindkettő | Egyéni parancssori beállításokat ad hozzá. |
| ITestHostEnvironmentVariableProvider | Külön folyamatban | Beállítja a környezeti változókat a tesztgazda elindítása előtt. |
| ITestHostProcessLifetimeHandler | Külön folyamatban | Külsőleg figyeli a tesztgazdafolyamatot. |
Folyamatban lévő és folyamaton kívüli bővítmények
A bővítmények két típusba vannak kategorizálva:
A folyamaton belüli bővítmények a tesztgazdafolyamaton belül futnak a tesztelési keretrendszer mellett. Regisztrálja őket a
builder.TestHostsegítségével.var builder = await TestApplication.CreateBuilderAsync(args); builder.TestHost.AddXXX(/* ... */);A folyamaton kívüli bővítmények egy külön folyamatban futnak, amely megfigyeli a teszt gazdagépet. Regisztrálja őket a
builder.TestHostControllerssegítségével.var builder = await TestApplication.CreateBuilderAsync(args); builder.TestHostControllers.AddXXX(/* ... */);
A folyamaton kívüli bővítményekre akkor van szükség, ha:
- A tesztgazda elindítása előtt be kell állítania a környezeti változókat.
- A teszt gazdagépet külsőleg kell figyelnie, mert előfordulhat, hogy a felhasználói kód összeomlik vagy lefagy a folyamat.
Ha bármilyen folyamaton kívüli bővítmény regisztrálva van, a platform automatikusan elindít egy második folyamatot.
A IExtension felület
Az összes bővítménypont öröklik a IExtension elemet, amely azonosítást és az opció bekapcsolását/kikapcsolását biztosítja:
public interface IExtension
{
string Uid { get; }
string Version { get; }
string DisplayName { get; }
string Description { get; }
Task<bool> IsEnabledAsync();
}
-
Uid: A bővítmény egyedi azonosítója. Válasszon egyedi értéket az ütközések elkerülése érdekében. -
Version: A bővítmény verziója szemantikai verziószámozással. -
DisplayName: A naplókban és--infokimenetekben megjelenő felhasználóbarát név. -
Description: A kimenetben--infomegjelenő leírás. -
IsEnabledAsync(): Térjen visszafalsea bővítmény kizárására a munkamenetből. A döntések általában konfiguráción vagy parancssori beállításokon alapulnak.
Mit olvasson el legközelebb?
-
Tesztkeret létrehozása: Egyéni
ITestFrameworkimplementáció létrehozása, kérelmek kezelése és teszteredmények jelentése. - Buildbővítmények: Folyamaton belüli és folyamaton kívüli bővítmények, például adatfelhasználók, munkamenet-kezelők és folyamatfigyelők létrehozása.
- VSTest-híd: A meglévő VSTest-alapú tesztelési keretrendszerek microsoft.testing.platformra való migrálásának egyszerűsítése.
- Képességek: Keretrendszerek és bővítmények deklarálása és lekérdezése.
- Szolgáltatások: Access konfiguráció, naplózás, üzenetbusz és egyéb platformszolgáltatások.