Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Parfois, il est utile d’avoir des valeurs de métadonnées modifiées en fonction des valeurs d’exécution. Les métadonnées conditionnelles permettent aux métadonnées de module, de classe ou de méthode d’être appliquées uniquement dans certaines conditions en fonction des paramètres d’exécution.
Syntaxe
Pour rendre les métadonnées conditionnelles, ajoutez une condition entourée de crochets après le nom des métadonnées. La condition doit être au format de notre langage de requête de sélection. Les valeurs des variables proviennent des paramètres d’exécution.
Par exemple, supposons qu’un test possède les métadonnées suivantes :
TEST_METHOD_PROPERTY(L"RunAs", L"Elevated")
TEST_METHOD_PROPERTY(L"Ignore[@NoElevation=true]", L"true")
Ensuite, lorsque TAEF charge la DLL, elle évalue la condition « @NoElevation=true » en fonction des paramètres d’exécution. Par conséquent, si l’utilisateur définit le paramètre d’exécution « NoElevation » sur true, le test aura des métadonnées appliquées avec le nom « Ignorer » et la valeur « true ».
Si plusieurs métadonnées conditionnelles apparaissent dans un test, chacune est évaluée indépendamment de la même manière. Cela peut être utile si vous souhaitez qu’un test reconnaisse plusieurs valeurs possibles d’un paramètre d’exécution.
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")
Si un test comporte les métadonnées ci-dessus et que l’utilisateur définit TestCaseLevel sur Low, le test est appelé trois fois seulement en raison de la source de données légère. Si l’utilisateur définit TestCaseLevel sur High, la source de données PICT est utilisée pour générer de nombreux paramètres supplémentaires pour le test. Si TestCaseLevel n’est pas défini sur High ou Low, aucune métadonnées n’est ajoutée.
Valeurs par défaut
Lorsque vous souhaitez ajouter des métadonnées uniquement quand aucune autre condition de ce nom de métadonnées particulier n’a été évaluée à true, vous pouvez ajouter le nom des métadonnées avec [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")
Si un test comporte les métadonnées ci-dessus et que l’utilisateur ne définit pas TestCaseLevel sur Low ou High, Pict :Order est défini sur 2. Si l’utilisateur définit TestCaseLevel sur Low ou High, Pict :Order est défini sur 1 ou 3, respectivement. La valeur 2 ne s’applique pas, car au moins une condition sur ce test pour Pict :Order a été évaluée à true.
Veillez à ne pas omettre la [valeur par défaut] si elle est nécessaire.
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")
Si TestCaseLevel est défini sur Low, l’ensemble de métadonnées ci-dessus équivaut à l’ensemble de métadonnées suivant :
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")
Dans ce cas, il n’est pas spécifié si la source de données PICT utilise le « 1 » ou le « 2 » pour l’ordre PICT.