Сделайте себе одолжение и перейдите прямо к Google Test , благодаря чему CppUnit и boost::unit_test
выглядят неуклюже и повторяются.
Например, скажем, у вас есть простое устройство:
class MyFixture : public ::testing::Test
{
protected:
int foo;
virtual void SetUp() { foo = 0; }
};
Чтобы добавить тест в свой прибор, напишите его!
TEST_F(MyFixture, FooStartsAtZero) {
EXPECT_EQ(0, foo);
}
Это все, что вам нужно.Обратите внимание на отсутствие явных объявлений testuite или отдельной программы, которая повторяет имена всех ваших тестов.
Скомпилируйте его, как в
$ g++ -o utest utest.cpp -lgtest -lgtest_main
, и запустите тест, чтобы получить
Running main() from gtest_main.cc
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from MyFixture
[ RUN ] MyFixture.FooStartsAtZero
[ OK ] MyFixture.FooStartsAtZero (0 ms)
[----------] 1 test from MyFixture (0 ms total)
[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (0 ms total)
[ PASSED ] 1 test.
(Запустите его сами, чтобы увидеть красивый зеленый текст для прохождения тестов!)
Это только начало.Взгляните на Google Test primer и Advanced Guide , чтобы узнать, что еще возможно.