Sdílet prostřednictvím


Parametry běhu

TAEF poskytuje funkce pro předávání parametrů modulu runtime do testů, které provádí.

Použití

Pokud chcete předat parametr testu, zadejte tento parametr do te.exe jako parametr příkazového řádku v následujícím formuláři:

Te.exe /p:ParameterName1=ParameterValue1  /p:ParameterName2=ParameterValue2

Pokud hodnota parametru obsahuje mezery, dejte uvozovky kolem názvu parametru a hodnoty parametru:

Te.exe /p:"ParameterName3=The quick brown fox jumps over the lazy dog"

Předdefinované parametry

TaEF má integrovanou podporu následujících parametrů modulu runtime:

  • TestDeploymentDir: Testovací binární adresář.
  • TestName: Název testu, který je aktuálně spuštěný.
  • FullTestName: Úplný název testu včetně kvalifikátorů variant. Jedná se o název, který taEF zaznamená do protokolu StartGroup a EndGroup.
  • TestResult: Agregovaný nejhorší výsledek testů spuštěných v rámci této funkce Cleanup. V pořadí od nejlepších po nejhorší: Prošlo, Nevykonáno, Přeskočeno, Blokováno, Neúspěšné. Pokud byl například zablokovaný aspoň jeden test ve vaší třídě, ale žádné testy se nezdařily, výsledek bude "Blokováno" (k dispozici pouze ve funkcích Cleanup).

Přístup k parametrům modulu runtime z testů

Nativní testy

Parametry modulu runtime jsou k dispozici v instalačních, vyčištění a testovacích metodách. Pomocí modulu RuntimeParameters::TryGetValue API je získejte:

String value;
VERIFY_SUCCEEDED(RuntimeParameters::TryGetValue(L"ParameterName3", value));

Poznámka: Pokud chcete požadovat parametry modulu runtime z testů, budete muset propojit s knihovnou Te.Common.lib.

Spravované testy

Parametry modulu runtime jsou k dispozici v instalačních a testovacích metodách. Chcete-li je získat, použijte vlastnost "TestContext" vaší třídy.

Příklad (nastavení třídy nebo implementace):

[ClassInitialize]

public static void ClassSetup(TestContext context)
{
    String parameterName3  = context.Properties["ParameterName3"];

}

Podobně z testu:

[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; }
}

Testy skriptů

Parametry modulu runtime jsou k dispozici v nastavení, čištění a testovacích metodách. Pokud chcete načíst parametry modulu runtime, definujte a vytvořte instanci objektu RuntimeParameters z Te.Common:

<object id="RuntimeParameters" progid="Te.Common.RuntimeParameters" />

Jakmile se vytvoří instance objektu RuntimeParameters, můžete použít metodu RuntimeParameters.Contains("<název> parametru modulu runtime") k dotazování, zda byl zadán parametr modulu runtime a je k dispozici pro test. Pokud vrátí hodnotu true, můžete ji načíst pomocí modulu RuntimeParameters.GetValue("<název> parametru modulu runtime"). Mějte na paměti, že runtimeParameters.GetValue(...) vyvolá výjimku, pokud parametr modulu runtime není k dispozici. Následující příklad je z našeho příkladu VBScriptu:

<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>