Контекст активации

TAEF предоставляет механизм для указания контекста активации, в котором должен выполняться тест.

Предоставление контекста активации позволяет пользователям выбирать двоичный файл определённой версии из различных параллельно установленных сборок в системе. Требуемый контекст активации указан в файле манифеста и может передаваться в TAEF через свойство ActivationContext. Свойство ActivationContext можно указать как параметр среды выполнения или как тестовые метаданные.

Пример файла манифеста контекста активации

<?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>

Файл манифеста Comctlv6.manifest, показанный выше, указывает, что во время выполнения теста необходимо использовать версию 6 comctl32.dll. Дополнительные сведения о файлах манифеста см. в справочнике по файлам манифеста

Указание манифеста ActivationContext в командной строке

te MyUnitTest.dll /ActivationContext:ComctlV6.manifest

Эта команда выполняет все тесты вMyUnitTest.dll' с помощью контекста активации, указанного в файле ComctlV6.manifest

Указание манифеста ActivationContext в качестве метаданных теста

Если вы планируете запускать только определенные тестовые случаи в заданном контексте активации, можно сделать это, установив значение свойства ActivationContext в файл манифеста в методе тестирования. Например, следующее объявление метода теста запускает только метод теста MyTestMethod в указанном контексте активации при выполнении других тестов в контексте по умолчанию:

        BEGIN_TEST_METHOD(MyTestMethod)
            TEST_METHOD_PROPERTY(L"ActivationContext", L"ComctlV6.manifest")
        END_TEST_METHOD()

Обратите внимание, что свойство ActivationContext можно задать на уровнях классов и сборок, таких как другие свойства метаданных.