Организация модульного тестирования для существующего кода - PullRequest
0 голосов
/ 31 марта 2009

Недавно я получил в качестве новой задачи поддержку и улучшение существующего кода, написанного на C ++ с помощью MS Visual Studio. Код встраивается в исполняемый файл (не DLL). Я хотел бы добавить модульные тесты для кода, и проблема, с которой я столкнулся, заключается в том, как организовать свои проекты тестирования. По сути, я хочу иметь 2 проекта, один будет исходным проектом, который я получил, а второй - проектом тестирования.

Я видел в Интернете, что, как правило, когда испытуемый объект встроен в dll, довольно просто статически связать в своем проекте тестирования библиотеку, созданную из основного проекта, и у вас есть доступ к проверяемой функции. Но как это сделать, если испытуемый объект представляет собой исполняемый файл?

Ответы [ 2 ]

1 голос
/ 31 марта 2009

Конечно, вы можете организовать решение в проекты, которые совместно используют код, где один проект выводит в exe, а другой (s) в DLL?

0 голосов
/ 05 апреля 2011

Каким бы ни был результат проекта, модульное тестирование - это тестирование самых маленьких модулей: функций. Модульный тест обычно следует шаблону tripe A: Arrange (создайте среду для теста), Act (вызовите тестируемый метод), Assert (проверьте, что метод вел себя как ожидалось).

Существует несколько возможных структур проекта: изменить проект так, чтобы он компилировался в DLL, исполняемый файл и программу модульного тестирования. Исполняемый источник должен быть как можно меньше, возможно, это просто функция main(), которая создает объект Application. Также возможно иметь три проекта, один для DLL, один для приложения и третий для тестов.

Альтернативой является внедрение модульных тестов в исполняемый файл и способ их вызова, например, со специальным параметром --unit-test.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...