Посмотрите этот вопрос для некоторого обсуждения.
Они рекомендуют статьи: Исследование Джунглей Платформы Поблочного тестирования C++ , Noel Llopis. И более свежее: Тестовые Платформы Единицы C++
я не нашел статью, которая сравнивает googletest с другими платформами все же.
В Википедии есть полный список сред модульного тестирования с таблицами, в которых указаны поддерживаемые функции или нет.
Некоторые соответствующие ресурсы для модульного тестирования C ++ можно найти по адресу http://www.progweap.com/resources.html
Библиотека Boost Test — очень хороший выбор, особенно если вы уже используете Boost.
// TODO: Include your class to test here.
#define BOOST_TEST_MODULE MyTest
#include <boost/test/unit_test.hpp>
BOOST_AUTO_TEST_CASE(MyTestCase)
{
// To simplify this example test, let's suppose we'll test 'float'.
// Some test are stupid, but all should pass.
float x = 9.5f;
BOOST_CHECK(x != 0.0f);
BOOST_CHECK_EQUAL((int)x, 9);
BOOST_CHECK_CLOSE(x, 9.5f, 0.0001f); // Checks differ no more then 0.0001%
}
Он поддерживает:
PS: я написал об этом статью, которая может помочь вам начать работу: C++ Unit Testing Framework: A Boost Test Tutorial
Новым проигрывателем является Google Test (также известный как Google C++ Testing Framework), который довольно хорош.
#include <gtest/gtest.h>
TEST(MyTestSuitName, MyTestCaseName) {
int actual = 1;
EXPECT_GT(actual, 0);
EXPECT_EQ(1, actual) << "Should be equal to one";
}
Основные возможности:
ASSERT_EQ(5, Foo(i)) << " where i = " << i;
SCOPED_TRACE
для циклов подпрограмм