Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Czasami warto zmienić wartości metadanych w zależności od wartości środowiska uruchomieniowego. Metadane warunkowe umożliwiają stosowanie metadanych modułu, klasy lub metody tylko w określonych warunkach na podstawie parametrów środowiska uruchomieniowego.
Składnia
Aby ustawić metadane jako warunkowe, dodaj warunek otoczony nawiasami kwadratowymi po nazwie metadanych. Warunek musi być w formacie naszego języka zapytań wyboru. Wartości zmiennych pochodzą z parametrów środowiska uruchomieniowego.
Załóżmy na przykład, że test ma następujące metadane:
TEST_METHOD_PROPERTY(L"RunAs", L"Elevated")
TEST_METHOD_PROPERTY(L"Ignore[@NoElevation=true]", L"true")
Następnie, gdy TAEF ładuje bibliotekę DLL, ocenia warunek "@NoElevation=true" na podstawie parametrów środowiska uruchomieniowego. Dlatego jeśli użytkownik ustawia parametr środowiska uruchomieniowego "NoElevation" na wartość true, test będzie miał zastosowane metadane z nazwą "Ignoruj" i wartością "true".
Jeśli w jednym teście pojawia się wiele metadanych warunkowych, każda z nich jest oceniana niezależnie w ten sam sposób. Może to być przydatne, jeśli chcesz, aby test rozpoznał wiele możliwych wartości parametru środowiska uruchomieniowego.
TEST_METHOD_PROPERTY(L"Data:MyTestData[@TestCaseLevel='Low']", L"{ Datum1, Datum2, Datum3 }")
TEST_METHOD_PROPERTY(L"DataSource[@TestCaseLevel='High']", L"Pict:FullDataSet.model?Order=3")
Jeśli test zawiera metadane pokazane powyżej, a użytkownik ustawia wartość TestCaseLevel na Niski, test zostanie wywołany tylko trzy razy ze względu na lekkie źródło danych. Jeśli użytkownik ustawia wartość TestCaseLevel na Wysoki, źródło danych PICT będzie używane do generowania wielu dodatkowych parametrów dla testu. Jeśli wartość TestCaseLevel nie jest ustawiona na Wartość Wysoka lub Niska, nie zostaną dodane żadne metadane.
Wartości domyślne
Jeśli chcesz dodać metadane tylko wtedy, gdy żadne inne warunki dla tej konkretnej nazwy metadanych nie zostały ocenione na wartość true, możesz dołączyć nazwę metadanych z wartością [default].
TEST_METHOD_PROPERTY(L"DataSource", L"Pict:MyTest.model")
TEST_METHOD_PROPERTY(L"Pict:Order[@TestCaseLevel='Low']", L"1")
TEST_METHOD_PROPERTY(L"Pict:Order[default]", L"2")
TEST_METHOD_PROPERTY(L"Pict:Order[@TestCaseLevel='High']", L"3")
Jeśli test zawiera powyższe metadane, a użytkownik nie ustawi wartości TestCaseLevel na Niski lub Wysoki, wartość Pict:Order zostanie ustawiona na 2. Jeśli użytkownik ustawi wartość TestCaseLevel na Wartość Niska lub Wysoka, wartość Pict:Order zostanie ustawiona odpowiednio na 1 lub 3. Wartość 2 nie będzie stosowana, ponieważ co najmniej jeden warunek w tym teście dla Pict:Order został obliczony na wartość true.
Uważaj, aby nie pominąć wartości [domyślnej], jeśli jest to konieczne.
TEST_METHOD_PROPERTY(L"DataSource", L"Pict:MyTest.model")
TEST_METHOD_PROPERTY(L"Pict:Order[@TestCaseLevel='Low']", L"1")
TEST_METHOD_PROPERTY(L"Pict:Order", L"2") // This should have [default]
TEST_METHOD_PROPERTY(L"Pict:Order[@TestCaseLevel='High']", L"3")
Jeśli wartość TestCaseLevel jest ustawiona na Niski, powyższy zestaw metadanych jest odpowiednikiem następującego zestawu metadanych:
TEST_METHOD_PROPERTY(L"DataSource", L"Pict:MyTest.model")
TEST_METHOD_PROPERTY(L"Pict:Order", L"1")
TEST_METHOD_PROPERTY(L"Pict:Order", L"2")
W takim przypadku nie określono, czy źródło danych PICT będzie używać wartości "1" lub "2" dla zamówienia PICT.