Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O TAEF fornece funcionalidade para passar parâmetros de runtime para os testes executados por ele.
Uso
Para passar um parâmetro para o teste, forneça esse parâmetro para te.exe como um parâmetro de linha de comando no seguinte formulário:
Te.exe /p:ParameterName1=ParameterValue1 /p:ParameterName2=ParameterValue2
Se o valor do parâmetro contiver espaços, coloque aspas em torno do nome do parâmetro e do valor do parâmetro:
Te.exe /p:"ParameterName3=The quick brown fox jumps over the lazy dog"
Parâmetros internos
O TAEF tem suporte interno para os seguintes parâmetros de runtime:
- TestDeploymentDir: o diretório binário de teste.
- TestName: o nome do teste que está em execução no momento.
- FullTestName: o nome completo do teste, incluindo qualificadores de variação. Esse é o nome que TAEF registra para StartGroup e EndGroup.
- TestResult: o pior resultado possível agregado de testes executados dentro do escopo dessa função de limpeza. Na ordem do melhor para o pior: Aprovado, Não Executado, Ignorado, Bloqueado, Falhou. Por exemplo, se pelo menos um teste em sua classe foi bloqueado, mas nenhum teste falhou, o resultado será "Bloqueado" (disponível apenas em funções de limpeza).
Acessando parâmetros de tempo de execução nos testes
Testes nativos
Os parâmetros de runtime estão disponíveis nos métodos de instalação, limpeza e teste. Utilize a API RuntimeParameters::TryGetValue para obtê-los:
String value;
VERIFY_SUCCEEDED(RuntimeParameters::TryGetValue(L"ParameterName3", value));
Observação: para solicitar parâmetros de runtime de seus testes, você precisará vincular-se à biblioteca Te.Common.lib.
Testes Gerenciados
Os parâmetros de runtime estão disponíveis em métodos de instalação e teste. Para obtê-los, use a propriedade TestContext de sua classe.
Exemplo (configuração de classe ou assembly):
[ClassInitialize]
public static void ClassSetup(TestContext context)
{
String parameterName3 = context.Properties["ParameterName3"];
}
De maneira similar, a partir de um teste:
[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; }
}
Testes de script
Os parâmetros de runtime estão disponíveis nos métodos de instalação, limpeza e teste. Para recuperar parâmetros de runtime, defina e instancie o objeto RuntimeParameters do Te.Common:
<object id="RuntimeParameters" progid="Te.Common.RuntimeParameters" />
Depois que o objeto RuntimeParameters for instanciado, você poderá usar o método RuntimeParameters.Contains("<runtime parameter name>") para consultar se um parâmetro de runtime foi fornecido e está disponível para o teste. Se ele retornar true, você poderá usar RuntimeParameters.GetValue("<nome> do parâmetro de runtime") para recuperá-lo. Observe que RuntimeParameters.GetValue(...) será lançado se o parâmetro de runtime não estiver disponível. O exemplo a seguir é do nosso exemplo de 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>