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.
TaEF podporuje spouštění testů v izolovaném procesu. Je možné řídit, kdy se tyto procesy nahradí metadaty IsolationLevel a možností příkazového řádku. To může být užitečné pro detekci nezamýšlených závislostí testů nebo pro snížení dopadu leakujícího testu.
Následující seznam ukazuje možné hodnoty metadat IsolationLevel a možnosti příkazového řádku a jejich významu.
Žádný
TAEF nebude izolovat žádné testy.
Modul
TaEF použije samostatného hostitele procesu pro každou testovací knihovnu DLL.
Toto je výchozí hodnota.
sestavení
Stejné jako modul
Knihovna dll
Stejné jako modul
třída
TaEF použije samostatného hostitele procesu pro každou testovací třídu.
Metoda
TaEF použije pro každý test samostatného hostitele procesu. Pokud je test ve skupině provádění, použije se stejný hostitel procesu pro celou skupinu provádění.
Test
Stejná jako metoda
Hodnota metadat IsolationLevel, která se používá, je metadata zadaná nejblíže k úrovni testu. Pokud je nastavená také možnost IsolationLevel příkazového řádku, použije se hodnota, která poskytuje největší izolaci.
BEGIN_MODULE()
MODULE_PROPERTY(L"IsolationLevel", L"Class")
END_MODULE()
class MyTestClass1
{
TEST_CLASS(MyTestClass1);
BEGIN_TEST_METHOD(MyTest1)
TEST_METHOD_PROPERTY(L"IsolationLevel", L"Method")
END_TEST_METHOD()
TEST_METHOD(MyTest2);
TEST_METHOD(MyTest3);
};
class MyTestClass2
{
TEST_CLASS(MyTestClass2);
TEST_METHOD(MyTest1);
TEST_METHOD(MyTest2);
};
V předchozím příkladu se používají tři různé hostitele procesu: jeden pro MyTestClass1::MyTest1, jeden pro další dvě metody v MyTestClass1 a jeden pro MyTestClass2. Pokud by uživatel přidal /IsolationLevel:Method do příkazového řádku te.exe, použilo by se pět různých hostitelů procesu: jeden pro každý test.
Všimněte si, že pokud je modul, třída nebo test metadaty rozšířený nebo dátově řízený a je potřeba ho izolovat, každé rozšíření metadat a/nebo dat je izolované. Tomu lze zabránit na úrovni testování tím, že test se stane členem skupiny provádění.
class MyTestClass3 :
{
BEGIN_TEST_CLASS(MyTestClass3)
TEST_CLASS_PROPERTY(L"Data:MyParameter1", L"{1, 2, 3}")
TEST_CLASS_PROPERTY(L"IsolationLevel", L"Class")
END_TEST_CLASS()
BEGIN_TEST_METHOD(MyTest1)
TEST_METHOD_PROPERTY(L"Data:MyParameter2", L"{1, 2, 3}")
TEST_METHOD_PROPERTY(L"IsolationLevel", L"Method")
TEST_METHOD_PROPERTY(L"ExecutionGroup", L"MyExecutionGroup")
END_TEST_METHOD()
TEST_METHOD(MyTest2);
TEST_METHOD(MyTest3);
};
V tomto příkladu se používá šest různých hostitelů procesu. Každá ze tří hodnot MyParameter1 je izolovaná a MyTest1 je izolovaná od MyTest2 a MyTest3. Tři hodnoty MyParameter2 nejsou izolované, protože jsou ve stejné skupině provádění.