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


Выполнение между архитектурами

TAEF поддерживает возможность запуска тестов из разных архитектур с одной и той же командной строкой при условии, что ос, выполняющая тесты, поддерживает их. Это означает, что, например, тесты x64 и x86 (в ОС x64) можно выполнять с помощью одной командной строки te.exe.

Необходимые условия

Чтобы выполнять тесты для архитектуры, отличной от "te.exe", двоичные файлы TAEF для этой архитектуры должны быть доступны для "te.exe". Целевая архитектура может быть любой из следующих:

  • x86
  • X64
  • ia64

TAEF будет искать в папке с именем для целевой архитектуры относительно исходного "te.exe" для двоичных файлов TAEF для этой архитектуры.

Выполнение тестов для другой архитектуры

Выполнение тестов для другой архитектуры не требует дополнительной настройки. Просто передайте указанную библиотеку DLL в качестве параметра в te.exe. TAEF проверит двоичный файл, чтобы определить его целевую архитектуру, и создаст экземпляр правильного процесса узла, чтобы загрузить и запустить тесты. Например, x86 'te.exe' может проверить тестовую библиотеку DLL x64 и запустит процесс x64 для выполнения тестов:

c:\taef\x86>te x64\Scenario.Tests.dll

Так как командная строка "te.exe" может принимать несколько библиотек DLL для тестирования, вы можете использовать архитектуры, и TAEF выберет правильные хост-процессы для данной библиотеки DLL тестирования:

c:\taef\x86>te x64\Scenario.Tests.dll x86\Scenario.Tests.dll x64\UI.Tests.dll

Это позволяет пользователям TAEF получать больше тестов из одной командной строки, при этом все результаты будут сведены в один журнал. Без этой функции тесты для каждой архитектуры должны быть объединены в собственную командную строку, выполнены по отдельности, а результаты каждого запуска объединяются.

Если данный файл теста не относится к конкретной архитектуре (например, двоичный файл C#, который компилируется в чистый IL), он будет выполняться с использованием той же архитектуры, в которую был передан файл "te.exe".

Выбор тестов по архитектуре

TAEF автоматически применяет метаданные "Архитектура" к файлам тестирования, для которых требуется определенная архитектура. Значение метаданных "Архитектура" является архитектурой, необходимой для выполнения тестов, и будет одним из следующих:

  • x86
  • X64
  • ia64

Чтобы выбрать тесты для конкретной архитектуры, можно использовать язык выбора, соответствующий метаданным "Архитектура". Например, если папка "Tests" содержит сочетание файлов тестов x86 и x64, то в следующей командной строке будут выполняться только тесты x64:

c:\taef\x86>te Tests\*.Tests.dll /select:@Architecture='x64'

Ошибки

Передача тестового файла, скомпилированного для другой архитектуры, в TAEF без необходимых двоичных файлов целевой архитектуры приведет к появляется сообщение об ошибке. В следующем примере показана x86 "te.exe", пытающаяся выполнить тесты x64 без вложенной папки "x64", заполненной необходимыми двоичными файлами:

c:\>te x64\Scenario.Tests.dll
Test Authoring and Execution Framework v2.2 Build 6.1.7689.0 (release.091218-1251) for x86
Error: Please copy all x64 TAEF binaries to the 'c:\taef\x86\x64' directory in order to run x64 tests from this process. 
Error: Failed to create the ProcessHostController. TE.ProcessHost.exe may be unavailable. Terminating execution...
Error: No test cases were executed.