Ответ 1
Сделайте себе одолжение и перейдите прямо к 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 и расширенное руководство чтобы увидеть, что еще возможно.