catch2 catch c++ tdd cppunit

catch - Desarrollo guiado por pruebas con C++



catch c++ (3)

Cambié de CppUnit a boost :: test hace algunos años y estoy mucho más contento con él.

  • La documentación para CppUnit es inexistente. Buena suerte al intentar averiguar qué opciones de línea de comandos admite sin leer el código. Sin embargo, aparentemente tiene más sentido para las personas que ya están familiarizadas con JUnit. boost :: test tiene una excelente documentation .
  • El facility registro de auto test de boost :: test hace que agregar casos de prueba unitaria sea increíblemente fácil. Con CppUnit, tiene que escribir una gran cantidad de repeticiones para cada caso de prueba (una línea en el encabezado y una .cpp para registrarlo, además del método de prueba).
  • boost :: test le permite seleccionar subconjuntos de prueba por regexp desde la línea de comandos. Tuvimos que hackear las fuentes de CppUnit para hacerlo cuando originalmente lo recogimos.
  • Lo único que miss de miss de CppUnit es su " Protectors ". Puede definir el suyo propio y hacer que envuelvan cada prueba y verificar lo que sea (por ejemplo, tuvimos un problema con algunos códigos que alteraban el modo de redondeo de punto flotante x87; verificar que el estado no había cambiado en un Protector capturó rápidamente a todos los infractores). boost :: test tiene algo similar llamado test_observer pero la última vez que lo intenté, realmente no se pudo fallar una prueba de uno.

Buscando comenzar a hacer TDD en C ++. He visto CPPUnit, pero me preguntaba si hay otras opciones que prefiera la gente.

Gracias por tus sugerencias!


Puedo recomendar Google Mock . Viene con una copia de Google Test incluido. Cambiamos de UnitTest ++ también Google Test / Google Mock hace un par de años y nunca miré atrás.

Se puede usar Google Mock incluso si no desea utilizar las funciones de burla. Sus matchers son muy útiles .