Я только начинаю с TDD, и мне любопытно, что подходы других предпринимают для проведения своих тестов. Для справки, я использую платформу тестирования Google, но я считаю, что этот вопрос применим к большинству других систем тестирования и к языкам, отличным от C/C++.Как вы проводите модульные тесты? Флаги компилятора? Статические библиотеки?
Мой общий подход до сих пор был сделать один из трех вещей:
Написать большинство приложения в статической библиотеке, а затем создать два исполняемых файла. Один исполняемый файл является самим приложением, в то время как другой является тестовым бегуном со всеми тестами. Обе ссылки на статическую библиотеку.
Внедрить тестовый код непосредственно в приложение и включить или отключить код тестирования с использованием флагов компилятора. Вероятно, это лучший подход, который я использовал до сих пор, но немного забивает код.
Внедрите тестовый код непосредственно в приложение и, учитывая, что некоторые ключи командной строки запускают само приложение или запускают тесты, встроенные в приложение.
Ни одно из этих решений не особенно элегантный ...
Как вы это сделать?
консенсус, кажется, что # 1 является лучшим. Кажется, это не так элегантно, как могло бы быть. Я думаю, если я хочу элегантности, я должен переключиться на язык сценариев. : p – kurige