Модульные тесты и C++
Обновлен: Ноябрь 2007
Модульные тесты можно использовать в среде Visual C# и Visual Basic.
Примечание. |
---|
При создании модульных тестов для универсальных типов и универсальных методов в Visual C# and Visual Basic существуют некоторые ограничения. Дополнительные сведения см. в разделе Модульные тесты и универсальные объекты. |
Модульные тесты в среде Visual C++ используются в соответствии с особенностями, описанными в этом разделе.
Способ использования модульных тестов зависит от роли, которую играет Visual C++ в решении. Существуют следующие варианты.
Модульные тесты используются для тестирования кода, написанного в Visual C++. Сведения см. в разделе Рабочий код Visual C++.
Тестовый проект содержит модульные тесты, написанные в Visual C++. Сведения см. в разделе Тестовые проекты и Visual C++.
Планируется автоматическое создание модульных тестов из кода, написанного в Visual C++. Сведения см. в разделе Создание кода и Visual C++.
Рабочий код Visual C++
При тестировании кода, называемого рабочим, следует иметь ввиду следующее.
Неуправляемый. Неуправляемый рабочий код необходимо вызывать из статической библиотеки, OBJ-файла или точки входа библиотеки DLL. Методы класса, внедренные в исполняемый файл или библиотеку, не работают, поскольку неуправляемый код Visual C++ не поддерживает механизм обнаружения в среде выполнения — отражение. Поэтому работают только традиционные встроенные механизмы привязки.
Смешанный. Проект является смешанным, если для него используется параметр компилятора /clr. Из смешанного кода, не являющегося исполняемым файлом, вызываются и тестируются все предназначенные для этого методы.
Безопасный или чистый. Из исполняемого файла или библиотеки DLL, рабочий код которых является безопасным или чистым, вызываются и тестируются все предназначенные для этого методы.
Тестовые проекты и Visual C++
Возможности проекта меняются в зависимости от установленных параметров компилятора. Дополнительные сведения см. в разделах Параметры компилятора и /clr (компиляция CLR). В следующих разделах описываются возможности, доступные для различных установок параметров компилятора.
Неуправляемый
В тестовых проектах нельзя использовать неуправляемый язык программирования Visual C++.
Смешанный
Проект является смешанным, если для него используется параметр компилятора /clr. Этот вид тестового проекта предоставляет возможность тестировать следующий рабочий код.
Неуправляемые статические библиотеки
Точки входа неуправляемой библиотеки DLL
Автономные OBJ-файлы
Сборки смешанного режима библиотеки DLL с вызываемыми методами. Это не относится к исполняемым файлам, поскольку они содержат неуправляемый код, который, как правило, не поддерживает смену базового адреса.
Любой вызываемый управляемый метод. Это код, скомпилированный с параметром /clr:pure или /clr:safe.
Безопасный или чистый.
Использование параметра компилятора /clr:pure или /clr:safe в тестовом проекте предоставляет возможность тестировать любой вызываемый метод. Это означает, что рабочий код скомпилирован с параметрами /clr, /clr:pure или /clr:safe.
Создание кода и Visual C++
Модульные тесты создаются в тестовом проекте Visual C++. Эти тесты можно создавать из рабочего кода проекта Visual C++. Следует иметь ввиду следующее.
Рабочий код проекта. Модульные тесты создаются, только если для рабочего кода, написанного в Visual C++, использовался параметр компилятора /clr:safe.
Тестовый проект. Модульные тесты создаются из кода в любом типе тестового проекта Visual C++: смешанном, безопасном или чистом. По умолчанию тип проекта имеет параметр /clr:safe. Изменить проект на /clr или /clr:pure можно в любой момент с помощью параметров компилятора Visual C++. Дополнительные сведения см. в разделе /clr (компиляция CLR).
См. также
Задачи
Практическое руководство. Создание модульного теста
Основные понятия
Модульные тесты и универсальные объекты