Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
TAEF ondersteunt het uitvoeren van tests in een geïsoleerd proces. Het is mogelijk om te bepalen wanneer deze processen worden vervangen door de metadata en opdrachtregeloptie IsolationLevel. Dit kan handig zijn voor het detecteren van onbedoelde testafhankelijkheden of voor het verminderen van de impact van een lektest.
In de volgende lijst ziet u de mogelijke waarden van de metadata en opdrachtregeloptie IsolationLevel en hun betekenissen.
Geen
TAEF zal geen tests isoleren.
Module
TAEF gebruikt een afzonderlijke proceshost voor elke test-DLL.
Dit is de standaardwaarde.
Montage
Hetzelfde als module
DLL
Hetzelfde als module
-klasse
TAEF gebruikt een afzonderlijke proceshost voor elke testklasse.
methode
TAEF gebruikt voor elke test een afzonderlijke proceshost. Als de test zich in een uitvoeringsgroep bevindt, wordt dezelfde proceshost gebruikt voor de hele uitvoeringsgroep.
Testen
Hetzelfde als de methode
De metagegevenswaarde IsolationLevel die wordt gebruikt, is de metagegevens die het dichtst bij het testniveau zijn opgegeven. Als de optie IsolationLevel van de opdrachtregel ook is ingesteld, is de waarde die wordt gebruikt de waarde die de meeste isolatie biedt.
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);
};
In het bovenstaande voorbeeld worden drie verschillende proceshosts gebruikt: een voor MyTestClass1::MyTest1, een voor de andere twee methoden in MyTestClass1 en een voor MyTestClass2. Als de gebruiker /IsolationLevel:Method zou toevoegen aan de opdrachtregel van de te.exe, zouden er vijf verschillende proceshosts worden gebruikt: één voor elke test.
Als een module, klasse of test met metagegevens is uitgevouwd of gegevensgestuurd is en moet worden geïsoleerd, dan wordt elke uitbreiding van metagegevens en/of gegevens geïsoleerd. Dit kan worden voorkomen op het testniveau door de test lid te maken van een uitvoeringsgroep.
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);
};
In dit voorbeeld worden zes verschillende proceshosts gebruikt. Elk van de drie waarden van MyParameter1 is geïsoleerd en MyTest1 is geïsoleerd van MyTest2 en MyTest3. De drie waarden van MyParameter2 worden niet geïsoleerd omdat ze zich in dezelfde uitvoeringsgroep bevinden.