Partager via


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>