Hazte un favor e ir directamente a Google Test, lo que hace que CppUnit y boost::unit_test
parezcan torpes y repetitivos.
Por ejemplo, supongamos que tiene un accesorio simple:
class MyFixture : public ::testing::Test
{
protected:
int foo;
virtual void SetUp() { foo = 0; }
};
Para agregar una prueba para su accesorio, escribirlo!
TEST_F(MyFixture, FooStartsAtZero) {
EXPECT_EQ(0, foo);
}
Eso es todo lo que necesita. Observe la falta de declaraciones explícitas de la suite de pruebas o una agenda separada que repite todos los nombres de sus pruebas.
Compilarlo como en
$ g++ -o utest utest.cpp -lgtest -lgtest_main
y ejecutar la prueba para obtener
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.
(ejecutarlo usted mismo para ver el buen texto en verde para pasar las pruebas!)
esto es sólo el principio. Eche un vistazo a Google Test primer y advanced guide para ver qué más es posible.
Probablemente encontrará las respuestas a http://stackoverflow.com/questions/242926/comparison-of-c-unit-test-frameworks útiles. –
@Alex: gracias por su publicación, hay algunos enlaces realmente útiles en él – chrmue
Buen enlace, AAlex, +1. @chrmue, para aclarar: ¿la comparación que estás buscando supone un usuario de Boost o no? ¿Estás preguntando "si uso Boost para desarrollar, entonces hay una ventaja de usar texto de Boost?" ¿o solo estás buscando una comparación directa? – Mawg