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


Устранение неполадок в обычных тестах

 

Опубликовано: Апрель 2016

При выполнении обычных тестов может возникнуть следующая ошибка: "При выполнении обычного теста на 64-разрядной платформе функция сбора данных о покрытии кода не работает. Для устранения ошибки используются сведения из раздела Обход 32-разрядного ограничения.

Требования

  • Visual Studio Enterprise

Обход 32-разрядного ограничения

Инструментирование покрытия кода работает только в 32-разрядном режиме, но не в 64-разрядном. Это связано с тем, что после инструментирования для покрытия кода сборка может быть загружена только в 32-разрядном режиме.

Примечание

При выполнении модульного теста на 64-разрядном компьютере без сбора данных покрытия кода данное ограничение не применяется.Это происходит потому, что обработчик тестов "VSTestHost.exe", загружающий библиотеку класса, выполняется в 32-разрядном процессе.

Для обычного теста приложение-оболочка построено с параметром "Any CPU", которое на 64-разрядном компьютере выполняется как 64-разрядный процесс. Когда данный 64-разрядный процесс пытается загрузить 32-разрядную сборку, возникает ошибка. Решить проблему можно одним из следующих способов.

Если общий тест непосредственно создает оболочку для двоичного файла, скомпилированного из рабочего кода, используется следующий метод.

  • Изменение конфигурации решения на платформу x86

Если между обычным тестом и двоичным файлом рабочего кода имеется уровень, используется один из двух следующих методов. То есть обычный тест создает оболочку промежуточного приложения в качестве окружения теста. Окружение теста, в свою очередь, выполняет рабочий код для тестирования.

  • Изменение параметров построения для приложения, загружающего двоичный файл рабочего кода

Изменение конфигурации решения на платформу x86

Изменение конфигурации решения с "Any CPU" на "x86".

Изменения конфигурации решения

  1. Щелкните решение правой кнопкой мыши и выберите пункт Свойства.

    Откроется диалоговое окно Страницы свойств решения.

  2. В области Свойства конфигурации выберите пункт Конфигурация.

  3. Выберите пункт Диспетчер конфигураций.

    Откроется диалоговое окно Диспетчер конфигураций.

  4. В области Платформа активного решения нажмите New.

    Откроется диалоговое окно Создание платформы решения.

  5. В области Введите или выберите новую платформу выберите x86.

  6. В диалоговом окне Создание платформы решения нажмите кнопку ОК.

  7. Чтобы сохранить изменения, нажмите кнопку Да в диалоговом окне запроса.

  8. Убедитесь, что в диалоговом окне Диспетчер конфигураций в области Активная платформа решения выбрано значение x86, и нажмите кнопку Закрыть.

  9. В диалоговом окне Страницы свойств решения нажмите кнопку ОК.

Изменение параметров построения для приложения, загружающего двоичный файл рабочего кода

Для инструментирования любого промежуточного приложения или окружения теста, являющегося оболочкой обычного теста, используйте следующую процедуру. Это промежуточное приложение выполнит код для тестирования.

В этой процедуре за счет изменения параметров выполняется построение промежуточного приложения для платформы x86.

Примечание

Это можно сделать только если приложение в оболочке создается из проекта в решении.

Изменение параметров построения для приложения в оболочке

  1. В обозревателе решений щелкните правой кнопкой мыши проект, из которого построено промежуточное приложение, а затем в контекстном меню выберите пункт Свойства.

    Откроется страница свойств проекта.

  2. Перейдите на вкладку Сборка.

  3. В качестве целевой платформы укажите x86.

  4. В меню Файл выберите команду Сохранить выбранные элементы.

См. также

Создание автоматического теста, запускающегося в виде исполняемого файла с помощью обычных тестов