Partager via


Paramètres d’exécution

TAEF fournit des fonctionnalités permettant de transmettre des paramètres d’exécution aux tests qu’il exécute.

Usage

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 les 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 que TAEF journalise pour StartGroup et EndGroup.
  • TestResult : Résultat agrégé du cas le plus défavorable des tests exécutés dans le cadre de cette fonction de nettoyage. Pour passer du meilleur au pire : Réussi, Non exécuté, 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 d’exécution à 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 runtime à 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; }
}

Tests de Script

Les paramètres d’exécution sont disponibles dans l’installation, le nettoyage et les méthodes 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(« <nom> du paramètre runtime ») pour interroger si un paramètre d’exécution a été fourni et est disponible pour le test. Si elle retourne la valeur true, vous pouvez ensuite utiliser RuntimeParameters.GetValue(« <nom> du paramètre runtime ») pour la récupérer. Notez que RuntimeParameters.GetValue(...) génère une exception si le paramètre d'exécution 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>