2010-07-13 2 views
7

Можно создать дубликат:
Comparison of c++ unit test frameworksНаписание Unit-тесты в C++

я происхожу из .NET на C++, и я хочу знать, если есть какие-либо хорошие статьи/информация о модульное тестирование на C++ и наиболее используемые/лучшие рамки для этого.

+3

См. [Сравнение модульных тестовых фреймворков C++] (http://stackoverflow.com/questions/242926/comparison-of-c-unit-test-frameworks), [Выбор инструмента/модуля тестирования модулей C++] (http : //stackoverflow.com/questions/13699/choosing-ac-unit-testing-toolframework), [C++ Unit Testing Libraries] (http://stackoverflow.com/questions/2038705/c-unit-testing-libraries), ... –

ответ

5

Посмотрите на библиотеку Boost.Test, в частности Unit Test Framework. Это очень мощный и простой способ начать работу.

0

Boost :: Test, но также и MiniCppUnit, который я считаю легким, очень простым и легким в использовании.

В статье, есть описание одного Chap о добавлении модульных тестов в его CPP приложение для unit++

1

Мы используем UnitTest++, который кажется адекватным до сих пор; не уверен, что он сравнивается с Boost :: Test или другими.

1

Да, Boost.Test является хорошим, но я также рекомендую UnitTest++, который очень прост в использовании.

0

Я использовал GoogleTest и cpptest. Я поселился на CppTest, потому что intelli-смысл IDE, который я использую, запутывается макросами GoogleTest. Это не их вина, но я действительно использую функцию IDE.

12

Мне очень нравится google test. Он обладает всеми лучшими функциями последних модульных тестовых фреймворков, сохраняя при этом все в минимальном потоковом интерфейсе.

Дальше в моем списке Boost Test. Google api для пользователей немного более современен, чем Boost.Test, но Boost Test проделал удивительную работу по добавлению новых функций и отказу от парадигмы CppUnit.

Я также использовал CxxTest. Это хорошо сделано, но вы можете сказать, что это не так современно, как Boost.Test или Google Test. В частности, его поддержка наборов тестов и приспособлений немного неудобна.

Мне нравится использовать расширенные функции, но если вы минималист, вы никогда не увидите разницу между этими тремя. Большинство моих коллег будут довольны модульной тестовой средой, которая поддерживает автоматический регистрационный тест (декларативно) и имеет своего рода макрос CHECK_EQUALS(a,b).

Смежные вопросы