Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek je určený pro vývojáře, kteří vytvářejí vlastní testovací architektury nebo rozšíření pro Microsoft.Testing.Platform.
Poznámka
Úplný ukázkový kód najdete v TestingPlatformExamples v úložišti Microsoft Test Framework.
Souhrn bodů rozšíření
| Bod rozšíření | Uvnitř/vně procesu | Účel |
|---|---|---|
| ITestFramework | Probíhající | Jediné povinné rozšíření. Zjišťuje a spouští testy. |
| IDataConsumer | Probíhající | Přihlásí se k odběru a zpracuje testovací data ze sběrnice zpráv. |
| ITestSessionLifetimeHandler | Probíhající | Spustí kód před testovací relací a po ní. |
| ITestApplicationLifecycleCallbacks | Probíhající | Spustí kód na samém začátku a úplně na konci testovacího prostředí. |
| ICommandLineOptionsProvider | Oboje | Přidá vlastní možnosti příkazového řádku. |
| ITestHostEnvironmentVariableProvider | Mimo proces | Nastaví proměnné prostředí před spuštěním testovacího hostitele. |
| ITestHostProcessLifetimeHandler | Mimo proces | Externě sleduje proces hostitele testu. |
In-proces versus out-of-proces rozšíření
Rozšíření jsou rozdělená do dvou typů:
Rozšíření v rámci procesu běží v rámci procesu testovacího hostitele společně s testovacím frameworkem. Zaregistrujte je prostřednictvím
builder.TestHost:var builder = await TestApplication.CreateBuilderAsync(args); builder.TestHost.AddXXX(/* ... */);Rozšíření mimo proces běží v samostatném procesu, který sleduje testovacího hostitele. Zaregistrujte je prostřednictvím
builder.TestHostControllers:var builder = await TestApplication.CreateBuilderAsync(args); builder.TestHostControllers.AddXXX(/* ... */);
Rozšíření mimo proces jsou potřeba v těchto případech:
- Před spuštěním testovacího hostitele musíte nastavit proměnné prostředí.
- Testovacího hostitele je potřeba monitorovat externě, protože kód uživatele může proces zhroutí nebo zablokuje.
Když je zaregistrované jakékoli rozšíření mimo proces, platforma spustí druhý proces automaticky.
Rozhraní IExtension
Všechny body rozšíření dědí z IExtension, které poskytují identifikaci a možnost zapnutí/vypnutí:
public interface IExtension
{
string Uid { get; }
string Version { get; }
string DisplayName { get; }
string Description { get; }
Task<bool> IsEnabledAsync();
}
-
Uid: Jedinečný identifikátor rozšíření. Zvolte jedinečnou hodnotu, abyste se vyhnuli konfliktům. -
Version: Verze rozšíření pomocí sémantické správy verzí. -
DisplayName: Uživatelsky přívětivý název, který se zobrazí v protokolech a--infovýstupu. -
Description: Popis, který se zobrazí ve--infovýstupu. -
IsEnabledAsync(): Vraťtefalse, aby bylo rozšíření vyloučeno z relace. Rozhodnutí jsou obvykle založená na konfiguraci nebo možnostech příkazového řádku.
Co si přečíst dál
-
Vytvoření testovací architektury: Vytvoření vlastní
ITestFrameworkimplementace, zpracování požadavků a hlášení výsledků testů - Vytváření rozšíření: Vytváření rozšíření v rámci procesu a mimo proces, jako jsou příjemci dat, obslužné rutiny relací a monitory procesů.
- Most VSTest: Zjednodušte migraci stávajících testovacích frameworků založených na VSTest na Microsoft.Testing.Platform.
- Možnosti: Deklarujte a dotazujte architekturu a možnosti rozšíření.
- Služby: konfigurace Access, protokolování, sběrnice zpráv a další služby platformy.