다음을 통해 공유


런타임 매개 변수

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: 이 Cleanup 함수의 scope 내에서 실행된 테스트의 최악의 집계 결과입니다. 최상에서 최악의 순서로: Passed, NotRun, Skipped, Blocked, Failed. 예를 들어 클래스에서 하나 이상의 테스트가 차단되었지만 실패한 테스트가 없는 경우 결과는 "차단됨"이 됩니다(정리 함수에서만 사용 가능).

테스트에서 런타임 매개 변수 액세스

네이티브 테스트

런타임 매개 변수는 설치, 정리 및 테스트 메서드에서 사용할 수 있습니다. 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("<런타임 매개 변수 이름>") 메서드를 사용하여 런타임 매개 변수가 제공되고 테스트에 사용할 수 있는지 쿼리할 수 있습니다. true를 반환하는 경우 RuntimeParameters.GetValue("<런타임 매개 변수 이름>")를 사용하여 검색할 수 있습니다. 런타임 매개 변수를 사용할 수 없는 경우 RuntimeParameters.GetValue(...)가 throw됩니다. 다음 예제는 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>