Aracılığıyla paylaş


Çalışma Zamanı Parametreleri

TAEF, yürüttüğü testlere çalışma zamanı parametrelerini geçirmek için işlevsellik sağlar.

Kullanım

Testinize bir parametre geçirmek için bu parametreyi aşağıdaki biçimde te.exe komut satırı parametresi olarak sağlayın:

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

Parametre değeri boşluk içeriyorsa, parametre adı ve parametre değerinin çevresine tırnak işareti koyun:

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

Yerleşik Parametreler

TAEF, aşağıdaki Çalışma Zamanı Parametreleri için yerleşik desteğe sahiptir:

  • TestDeploymentDir: Test ikili dizini.
  • TestName: Çalışmakta olan testin adı.
  • FullTestName: Varyasyon niteleyicileri de dahil olmak üzere testin tam adı. Bu ad, TAEF'in StartGroup ve EndGroup için kaydettiği addır.
  • TestResult: Bu Cleanup işlevi kapsamında yürütülen testlerin en kötü durumdaki toplam sonucu. En iyiden en kötüye sırasıyla: Başarılı, NotRun, Atlandı, Engellendi, Başarısız. Örneğin, sınıfınızdaki en az bir test engellendiyse ancak test başarısız olmadıysa, sonuç "Engellendi" olur (yalnızca Temizleme işlevlerinde kullanılabilir).

Testlerden Çalışma Zamanı Parametrelerine Erişme

Yerel Testler

Çalışma Zamanı Parametreleri Kurulum, Temizleme ve test yöntemlerinde kullanılabilir. RuntimeParameters::TryGetValue API'sini kullanarak bunları edinin:

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

Not: Testlerinizden Çalışma Zamanı Parametreleri istemek için Te.Common.lib kitaplığına bağlanmanız gerekir.

Yönetilen Testler

Çalışma Zamanı Parametreleri kurulum ve test yöntemlerinde kullanılabilir. Bunları almak için sınıfınızın TestContext özelliğini kullanın.

Örnek (sınıf veya montaj kurulumu):

[ClassInitialize]

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

}

Benzer şekilde, bir testten:

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

Betik Testleri

Çalışma zamanı parametreleri kurulum, temizleme ve test yöntemlerinde kullanılabilir. Çalışma zamanı parametrelerini almak için Te.Common'dan RuntimeParameters nesnesini tanımlayın ve örneğini oluşturun.

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

RuntimeParameters nesnesi örneği oluşturulduktan sonra, bir çalışma zamanı parametresi sağlanıp sağlanmadığını ve test için kullanılabilir olup olmadığını sorgulamak için RuntimeParameters.Contains("<runtime parametre adı>") yöntemini kullanabilirsiniz. True döndürürse RuntimeParameters.GetValue("<runtime parametre adı>") kullanarak bunu alabilirsiniz. Çalışma zamanı parametresi kullanılamıyorsa RuntimeParameters.GetValue(...) hata vereceğini unutmayın. Aşağıdaki örnek, VBScript örneğimizden alınmıştır:

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