Bagikan melalui


Parameter Runtime

TAEF menyediakan fungsionalitas untuk meneruskan parameter runtime ke pengujian yang dijalankannya.

Penggunaan

Untuk meneruskan parameter ke pengujian Anda, berikan parameter ini ke te.exe sebagai parameter baris perintah dalam formulir berikut:

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

Jika nilai parameter berisi spasi, letakkan tanda kutip di sekitar nama parameter dan nilai parameter:

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

Parameter Bawaan

TAEF memiliki dukungan bawaan untuk Parameter Runtime berikut:

  • TestDeploymentDir: Direktori biner pengujian.
  • TestName: Nama pengujian yang saat ini sedang berjalan.
  • FullTestName: Nama lengkap pengujian termasuk kualifikasi variasi. Ini adalah nama saat TAEF mencatatnya untuk StartGroup dan EndGroup.
  • TestResult: Hasil agregat terburuk dari pengujian yang dijalankan dalam cakupan fungsi Pembersihan ini. Agar dari yang terbaik ke terburuk: Lulus, NotRun, Dilewati, Diblokir, Gagal. Misalnya, jika setidaknya satu pengujian di kelas Anda diblokir tetapi tidak ada pengujian yang gagal, hasilnya akan "Diblokir" (hanya tersedia dalam fungsi Pembersihan).

Mengakses Parameter Runtime dari Pengujian

Tes Asli

Parameter Runtime tersedia dalam metode Penyiapan, Pembersihan, dan pengujian. Gunakan RuntimeParameters::TryGetValue API untuk mendapatkannya:

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

Catatan: Untuk meminta Parameter Runtime dari pengujian, Anda harus menautkan ke pustaka Te.Common.lib.

Pengujian Terkelola

Parameter Runtime tersedia dalam metode penyiapan dan pengujian. Untuk mendapatkannya, gunakan properti TestContext kelas Anda.

Contoh (penyiapan kelas atau perakitan):

[ClassInitialize]

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

}

Demikian pula, dari pengujian:

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

Tes Skrip

Parameter runtime tersedia dalam pengaturan, pembersihan, dan metode pengujian. Untuk mengambil parameter runtime, tentukan dan buat instans objek RuntimeParameters dari Te.Common:

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

Setelah objek RuntimeParameters dibuat, Anda dapat menggunakan metode RuntimeParameters.Contains("<nama> parameter runtime") untuk mengkueri apakah parameter runtime disediakan dan tersedia untuk pengujian. Jika mengembalikan true, Anda kemudian dapat menggunakan RuntimeParameters.GetValue("<nama> parameter runtime") untuk mengambilnya. Perhatikan bahwa RuntimeParameters.GetValue(...) akan muncul jika parameter runtime tidak tersedia. Contoh berikut berasal dari contoh VBScript kami:

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