Partilhar via


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.