Sé que ya hay algunas preguntas con respecto a las recomendaciones para los marcos de prueba de la unidad C ++, pero todas las respuestas no ayudaron, ya que solo recomiendan uno de los marcos pero no proporcionan ninguna información sobre una comparación (característica).
Creo que los marcos más interesantes son CppUnit, Boost y el nuevo marco de prueba de Google. ¿Alguien ha hecho alguna comparación todavía?
c++
unit-testing
cppunit
googletest
boost-test
ama de casa
fuente
fuente
Respuestas:
Vea esta pregunta para alguna discusión.
Recomiendan los artículos: Explorando el marco de pruebas de la unidad C ++ Jungle , por Noel Llopis. Y lo más reciente: marcos de unidades de prueba de C ++
Todavía no he encontrado un artículo que compare googletest con los otros marcos.
fuente
Un nuevo reproductor es Google Test (también conocido como Google C ++ Testing Framework ), que es bastante bueno.
Principales características:
ASSERT_EQ(5, Foo(i)) << " where i = " << i;
SCOPED_TRACE
para bucles de subrutinafuente
Acabo de empujar mi propio marco, CATCH , por ahí. Todavía está en desarrollo, pero creo que ya supera la mayoría de los otros marcos. Diferentes personas tienen diferentes criterios, pero he tratado de cubrir la mayoría del terreno sin demasiadas compensaciones. Echa un vistazo a mi entrada de blog vinculada para un catador. Mis cinco características principales son:
También tiene enlaces Objective-C. El proyecto está alojado en Github
fuente
CHECK_FLASE
yREQUIRE_FLASE
macros.Boost Test Library es una muy buena opción, especialmente si ya está usando Boost.
Soporta:
PD: Escribí un artículo al respecto que puede ayudarlo a comenzar: Marco de prueba de unidad C ++: un tutorial de prueba de refuerzo
fuente
Wikipedia tiene una lista completa de marcos de prueba de unidad , con tablas que identifican características compatibles o no.
fuente
Recientemente lancé xUnit ++ , específicamente como una alternativa a Google Test y Boost Test Library (ver las comparaciones ). Si está familiarizado con xUnit.Net, está listo para xUnit ++.
Principales características:
Assert.Equal(-1, foo(i)) << "Failed with i = " << i;
Log.Debug << "Starting test"; Log.Warn << "Here's a warning";
fuente
CppUTest : marco muy agradable y ligero con bibliotecas simuladas. Vale la pena echar un vistazo más de cerca.
fuente
CPUnit ( http://cpunit.sourceforge.net ) es un marco que es similar a Google Test, pero que se basa en menos macos (las afirmaciones son funciones) y donde las macros tienen el prefijo para evitar el error macro habitual. Las pruebas se ven así:
Se registran automáticamente, por lo que no necesita más que esto. Entonces es solo compilar y ejecutar. Creo que usar este marco es muy parecido a usar JUnit, para aquellos que han tenido que pasar algún tiempo programando Java. ¡Muy agradable!
fuente
Hay algunos recursos de prueba de unidad C ++ relevantes en http://www.progweap.com/resources.html
fuente
API Sanity Checker : marco de prueba para bibliotecas C / C ++:
Características únicas en comparación con CppUnit, Boost y Google Test:
fuente