Тестирование модулей в С++

Я много читал о модульных тестах и ​​тестировании.

Недавно я также прочитал код java unit test.

Однако я предпочитаю развиваться в Qt. Таким образом, я искал "модульное тестирование в С++" и нашел множество информации о различных модулях модульного тестирования, доступных для С++.

Однако я не смог найти надежное сравнение различных фреймворков.

Итак, я смотрю на сообщество SO, которое проведет меня через выбор того, что может быть "наилучшим" модулем тестирования модулей для С++.

Кроме того, если у кого-то были особые комментарии относительно TDD в Qt (особенно с использованием Qt-Creator), то они более чем приветствуются.

Ответы

Ответ 1

Обычно используйте Boost, но если вы используете Qt, их QtTestLib может быть лучшим выбором.

Ответ 2

Я бы рекомендовал doctest (созданный мной) - он самый легкий во время компиляции из всех популярных тестовых фреймворков. Он также является прямым конкурентом Catch, который в настоящее время является наиболее используемой средой - проверьте отличия в FAQ

Ответ 4

Семейство тестовых фреймворков "xUnit" обычно довольно солидно (jUnit, NUnit и т.д.). Я не использовал его сам, но есть порт jUnit для С++:

http://sourceforge.net/projects/cppunit

Ответ 5

Существует таблица сравнивающая все (?) С++ unit test рамки, доступные из википедии.

Также существует старое сравнение возможностей С++ unit test. Я не думаю, что он не был обновлен, поэтому я упоминаю его как дополнение, поскольку он более аргументирован, чем таблица. Он охватывает, CppUnit, CppUnitLite, Boost.Test, NanoCppUnit, Unit ++, CxxTest, особенно он не охватывает Google С++ framework.

Ответ 6

Boost обычно является хорошим выбором, и он содержит тестовую структуру, Boost Test Library. Я использовал его для небольших тестовых примеров, и он сделал то, что я ожидал, но я не использовал его широко, как в TTD.