次の方法で共有


ランタイム パラメーター

TAEF は、ランタイム パラメーターを実行するテストに渡すための機能を提供します。

使用

テストにパラメーターを渡すには、このパラメーターを次の形式でコマンドライン引数としてte.exeに指定してください。

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

パラメーター値にスペースが含まれている場合は、パラメーター名とパラメーター値を引用符で囲みます。

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

組み込みパラメーター

TAEF には、次のランタイム パラメーターのサポートが組み込まれています。

  • TestDeploymentDir: テスト バイナリ ディレクトリ。
  • TestName: 現在実行中のテストの名前。
  • FullTestName: バリエーション修飾子を含むテストの完全な名前。 これは、TAEF が StartGroup と EndGroup についてログに記録する名前です。
  • TestResult: このクリーンアップ関数のスコープ内で実行されたテストの最悪のケースの結果を集計します。 最善から最悪の順序で: 合格(Passed)、未実行(NotRun)、スキップ(Skipped)、ブロック(Blocked)、失敗(Failed)。 たとえば、クラス内の少なくとも 1 つのテストがブロックされたが、テストが失敗しなかった場合、結果は "ブロック" になります (クリーンアップ関数でのみ使用できます)。

テストからのランタイム パラメーターへのアクセス

ネイティブ テスト

ランタイム パラメーターは、セットアップ、クリーンアップ、およびテスト メソッドで使用できます。 RuntimeParameters::TryGetValue API を使用して取得します。

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

注: テストにランタイム パラメーターを要求するには、Te.Common.lib ライブラリに対してリンクする必要があります。

マネージド テスト

ランタイム パラメーターは、セットアップ メソッドとテスト メソッドで使用できます。 それらを取得するには、クラスの TestContext プロパティを使用します。

例 (クラスまたはアセンブリのセットアップ):

[ClassInitialize]

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

}

同様に、テストから:

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

スクリプト テスト

ランタイム パラメーターは、セットアップ、クリーンアップ、およびテスト メソッドで使用できます。 ランタイム パラメーターを取得するには、Te.Common から RuntimeParameters オブジェクトを定義してインスタンス化します。

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

RuntimeParameters オブジェクトがインスタンス化されたら、RuntimeParameters.Contains("<runtime パラメーター名>") メソッドを使用して、ランタイム パラメーターが指定され、テストで使用できるかどうかを照会できます。 true が返された場合は、RuntimeParameters.GetValue("<runtime パラメーター名>") を使用して取得できます。 ランタイム パラメーターが使用できない場合、RuntimeParameters.GetValue(...) がスローされることに注意してください。 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>