Какая альтернатива DUnit с C++ Builder?

У меня есть несколько проектов, разработанных с помощью C++ Builder XE.
Я хотел бы добавить несколько модульных тестов, но установленная структура DUnit хороша для Delphi, но интеграция с Конструктор С++ не так хорош (и очень ограничен).

С какой другой платформой xUnit я могу легко работать?


person TridenT    schedule 31.08.2012    source источник
comment
DUnit — это версия JUnit для Delphi, CPPUnit — это версия C++ того же фреймворка.   -  person Petesh    schedule 31.08.2012
comment
@Petesh Как насчет интеграции CPPUnit в C++ Builder?   -  person TridenT    schedule 31.08.2012
comment
застрял в прошлом с 2010, а не с XE - я не знаком с функциями, которые обеспечивают интеграцию с пользовательским интерфейсом - я просто постоянно запускаю тесты в окне командной строки в фоновом режиме   -  person Petesh    schedule 31.08.2012


Ответы (1)


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

До тех пор CppUnit работает с любым кодом C++, но не очень хорошо интегрируется с IDE. Подход, который мы использовали, заключается в создании нового проекта, содержащего тесты, а его компоновщик включает путь к файлам .OBJ существующего производственного проекта. Мы настроили зависимость проекта, чтобы тестовый проект зависел от производственного проекта.

В тестовом проекте мы будем использовать разные файлы main.cpp, по одному для отладки и выпуска, и использовать условные выражения для включения/исключения соответствующего из сборок отладки и выпуска.

Для некоторой «фальшивой» интеграции, по крайней мере, для запуска тестов, в DebugMain.cpp мы загрузим графический интерфейс MFC TestRunner, чтобы разработчик мог щелкнуть, чтобы выбрать тесты, которые он хочет выполнить. В ReleaseMain.cpp мы будем использовать средство запуска тестов из командной строки, используя объект CompilerOutputter, который сообщит процессу сборки об успехе или неудаче. Вывод также совместим с IDE, которые интерпретируют подобные вещи, поэтому вы можете щелкнуть отчет о неудачном тесте в окне вывода, и IDE перенесет вас к утверждению о неудачном тесте.

person John Deters    schedule 31.08.2012