Я знаю, что уже есть несколько вопросов относительно рекомендаций для платформ модульного тестирования C ++, но все ответы не помогли, поскольку они просто рекомендуют одну из платформ, но не предоставляют никакой информации о сравнении (функциональности).
Я думаю, что наиболее интересные фреймворки - это CppUnit, Boost и новый фреймворк Google для тестирования. Кто-нибудь еще сравнивал?
c++
unit-testing
cppunit
googletest
boost-test
housemaister
источник
источник
Ответы:
Смотрите этот вопрос для обсуждения.
Они рекомендуют статьи: Изучение инфраструктуры джунглей модульного тестирования C ++ , Ноэль Ллопис. И последнее: C ++ Test Unit Frameworks
Я еще не нашел статью, которая сравнивает GoogleTest с другими фреймворками.
источник
Новым игроком является Google Test (также известный как Google C ++ Testing Framework ), который довольно хорош.
Основные характеристики:
ASSERT_EQ(5, Foo(i)) << " where i = " << i;
SCOPED_TRACE
для циклов подпрограммыисточник
Я только что выдвинул свою собственную структуру, CATCH , там. Он все еще находится в стадии разработки, но я считаю, что он уже превосходит большинство других структур. У разных людей разные критерии, но я попытался охватить большинство вопросов без слишком большого количества компромиссов. Взгляните на мою связанную запись в блоге для дегустатора. Мои пять основных функций:
Он также имеет привязки Objective-C. Проект размещен на Github.
источник
CHECK_FLASE
иREQUIRE_FLASE
макросы.Boost Test Library - очень хороший выбор, особенно если вы уже используете Boost.
Поддерживает:
PS: я написал статью об этом, которая может помочь вам начать: C ++ Unit Testing Framework: Учебное пособие по тестированию
источник
В Википедии есть полный список структур модульного тестирования с таблицами, которые определяют поддерживаемые функции или нет.
источник
Недавно я выпустил xUnit ++ , в частности, в качестве альтернативы Google Test и Boost Test Library (см. Сравнение ). Если вы знакомы с xUnit.Net, вы готовы к xUnit ++.
Основные характеристики:
Assert.Equal(-1, foo(i)) << "Failed with i = " << i;
Log.Debug << "Starting test"; Log.Warn << "Here's a warning";
источник
CppUTest - очень приятный, легкий фреймворк с фиктивными библиотеками. Стоит присмотреться.
источник
CPUnit ( http://cpunit.sourceforge.net ) - это фреймворк, похожий на Google Test, но основанный на меньшем количестве макрокоманд (утверждающих, что они являются функциями), и где макросы имеют префикс, чтобы избежать обычной ловушки макросов. Тесты выглядят так:
Они автоматически регистрируются, поэтому вам нужно не больше, чем это. Тогда это просто скомпилировать и запустить. Я нахожу использование этого фреймворка очень похожим на использование JUnit для тех, кому пришлось потратить некоторое время на программирование на Java. Очень хорошо!
источник
На сайте http://www.progweap.com/resources.html есть несколько соответствующих ресурсов для модульного тестирования C ++.
источник
API Sanity Checker - тестовая среда для библиотек C / C ++:
Уникальные возможности по сравнению с CppUnit, Boost и Google Test:
источник