Contexto de ativação
O TAEF fornece um mecanismo para especificar o "Contexto de Ativação" no qual o teste deve ser executado.
Fornecer o "contexto de ativação" permite que os usuários escolham um binário de versão específico de vários assemblies lado a lado no sistema. O "contexto de ativação" necessário é especificado em um arquivo de manifesto e pode ser passado para TAEF por meio da propriedade 'ActivationContext'. A propriedade 'ActivationContext' pode ser especificada como um parâmetro de runtime ou como metadados de teste.
Arquivo de manifesto de contexto de ativação de exemplo
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0"
processorArchitecture="*" publicKeyToken="6595b64144ccf1df"/>
</dependentAssembly>
</dependency>
</assembly>
O arquivo de manifesto , 'Comctlv6.manifest', mostrado acima especifica que a versão 6 do comctl32.dll deve ser usada durante a execução do teste. Para saber mais sobre arquivos de manifesto, confira Referência de arquivos de manifesto
Especificando o manifesto ActivationContext no Prompt de Comando
te MyUnitTest.dll /ActivationContext:ComctlV6.manifest
Esse comando executa todos os testes em 'MyUnitTest.dll' usando o contexto de ativação especificado no arquivo ComctlV6.manifest
Especificando o manifesto ActivationContext como metadados de teste
Se você pretende executar apenas casos de teste específicos em um determinado contexto de ativação, poderá fazer isso definindo o valor da propriedade 'ActivationContext' para o arquivo de manifesto no método de teste. Por exemplo, a seguinte declaração de método de teste executa apenas o método de teste 'MyTestMethod' no contexto de ativação especificado enquanto executa outros testes no contexto padrão:
BEGIN_TEST_METHOD(MyTestMethod)
TEST_METHOD_PROPERTY(L"ActivationContext", L"ComctlV6.manifest")
END_TEST_METHOD()
Observe que a propriedade 'ActivationContext' pode ser definida em níveis de classe e assembly, como outras propriedades de metadados.