Paramètres d’exécution
TAEF fournit des fonctionnalités permettant de passer des paramètres d’exécution aux tests qu’il exécute.
Utilisation
Pour passer un paramètre à votre test, fournissez ce paramètre à te.exe en tant que paramètre de ligne de commande sous la forme suivante :
Te.exe /p:ParameterName1=ParameterValue1 /p:ParameterName2=ParameterValue2
Si la valeur du paramètre contient des espaces, placez des guillemets autour du nom du paramètre et de la valeur du paramètre :
Te.exe /p:"ParameterName3=The quick brown fox jumps over the lazy dog"
Paramètres intégrés
TAEF prend en charge les paramètres d’exécution suivants :
- TestDeploymentDir : répertoire binaire de test.
- TestName : nom du test en cours d’exécution.
- FullTestName : nom complet du test, y compris les qualificateurs de variante. Il s’agit du nom, car TAEF le journalise pour StartGroup et EndGroup.
- TestResult : résultat agrégé du pire cas des tests exécutés dans l’étendue de cette fonction de nettoyage. Dans l’ordre du meilleur au pire : Passé, NotRun, Ignoré, Bloqué, Échec. Par exemple, si au moins un test de votre classe a été bloqué mais qu’aucun test n’a échoué, le résultat est « Bloqué » (disponible uniquement dans les fonctions de nettoyage).
Accès aux paramètres du runtime à partir de tests
Tests natifs
Les paramètres d’exécution sont disponibles dans les méthodes d’installation, de nettoyage et de test. Utilisez l’API RuntimeParameters::TryGetValue pour les obtenir :
String value;
VERIFY_SUCCEEDED(RuntimeParameters::TryGetValue(L"ParameterName3", value));
Remarque : Pour demander des paramètres d’exécution à partir de vos tests, vous devez établir un lien vers la bibliothèque Te.Common.lib.
Tests managés
Les paramètres d’exécution sont disponibles dans les méthodes d’installation et de test. Pour les obtenir, utilisez la propriété TestContext de votre classe.
Exemple (configuration de classe ou d’assembly) :
[ClassInitialize]
public static void ClassSetup(TestContext context)
{
String parameterName3 = context.Properties["ParameterName3"];
}
De même, à partir d’un test :
[TestMethod]
public void VerifyRuntimeParametersTest()
{
String parameterName3 = m_testContext.Properties["ParameterName3"].ToString());
}
// Note, that to work with runtime parameters, as well as with your tests, you need to add
// definition of test context property to your class
private TestContext m_testContext;
public TestContext TestContext
{
get { return m_testContext; }
set { m_testContext = value; }
}
Script Tests
Les paramètres d’exécution sont disponibles dans les méthodes d’installation, de nettoyage et de test. Pour récupérer des paramètres d’exécution, définissez et instanciez l’objet RuntimeParameters à partir de Te.Common :
<object id="RuntimeParameters" progid="Te.Common.RuntimeParameters" />
Une fois l’objet RuntimeParameters instancié, vous pouvez utiliser la méthode RuntimeParameters.Contains(« <runtime parameter name> ») pour interroger si un paramètre d’exécution a été fourni et est disponible pour le test. S’il retourne true, vous pouvez ensuite utiliser RuntimeParameters.GetValue(« <runtime parameter name> ») pour le récupérer. Notez que RuntimeParameters.GetValue(...) lève si le paramètre runtime n’est pas disponible. L’exemple suivant provient de notre exemple VBScript :
<script language="VBScript">
<![CDATA[
Function TestOne()
dim param
param = "No runtime param"
If RuntimeParameters.Contains("param") Then
param = RuntimeParameters.GetValue("param")
End If
Log.Comment("Param is " + param)
dim testDir
If RuntimeParameters.Contains("testDir") Then
testDir = RuntimeParameters.GetValue("TestDir")
End If
Log.Comment("The test harness is running in " + testDir)
End Function
]] >
</script>