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


Модульные тесты и C++

Модульные тесты позволяют быстро проверить наличие логических ошибок в методах классов в управляемом коде С++. Модульный тест можно создать один раз, а затем выполнять каждый раз при изменении исходного кода, чтобы убедиться в отсутствии внесенных ошибок. Модульные тесты с управляемым кодом Visual C++ используются в соответствии с особенностями, описанными в этом разделе. Модульные тесты можно также использовать в среде Visual C# и Visual Basic. Дополнительные сведения см. в разделе Практическое руководство. Создание и выполнение модульного теста.

Определение способа тестирования кода С++

Тип проекта С++

Метод тестирования

Поддержка модульного теста

Неуправляемая библиотека DLL

EXE

  • Создайте тестовый проект С++, измените на /clr и вызовите код теста обычным для С++ способом.

  • Создайте тестовый проект Visual Basic, C# или C++ Test Project и используйте Interop [DllImport].

Нет

COM-объект.

  • Используйте ссылку COM и вызовите ее методами СОМ.

Нет

Управляемое

/clr или /clr:pure

Нет

Управляемое

/clr:safe

  • Модульные тесты

Да

Дополнительные примечания

  • Нельзя использовать тестовые проекты с модульными тестами, где применяется неуправляемый код С++.

    Ниже приведены дополнительные замечания касательно параметра /clr:.

    • Модульные тесты создаются из кода в любом типе тестового проекта Visual C++: смешанном, безопасном или чистом. По умолчанию тип проекта имеет параметр /clr:safe. Изменить проект на /clr или /clr:pure можно в любой момент с помощью параметров компилятора Visual C++. Дополнительные сведения см. в разделе /clr (компиляция CLR).

    • Модульные тесты создаются, только если для рабочего кода, написанного в Visual C++, использовался параметр компилятора /clr:safe.

    • Параметры /clr:safe (по умолчанию) и /clr:pure не позволяют вызывать неуправляемый код.

    • Если необходимо вызвать неуправляемый код, следует использовать параметр /clr.

См. также

Ссылки

Параметры компилятора

Основные понятия

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

Модульные тесты для универсальных методов