Поделиться через


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

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 можно задать на уровне класса и сборки, как и другие свойства метаданных.