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