런타임 매개 변수
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>