Pruebas unitarias con CPPUnit - Herramientas de prueba
A lo largo de los años, los programadores más experimentados en la metodología TDD han desarrollado métodos y herramientas para escribir las pruebas más cómodamente. Dos de estos desarrolladores fueron Kent Beck y Eric Gamma (dos eminencias en el campo, uno por desarrollar la eXtreme Programming y el otro por su libro Design Patterns, que describe los patrones comúnmente llamados GoF), quienes desarrollaron una colección de clases para Java llamada JUnit. Con estas clases, podemos desarrollar nuestros casos y colecciones de prueba fácilmente, heredando de sus propias clases base y utilizando los mecanismos que nos proporciona. Además, ofrece una serie de interfaces gráficos para visualizar estas pruebas, ejecutarlas, ver sus resultados, seleccionar aquellas que queremos ejecutar, etc.
A estas colecciones de clases, junto con sus herramientas se las conoce como "Testing Frameworks", o "Marcos de pruebas", ya que gracias a ellas, tenemos toda la infraestructura necesaria para desarrollar pruebas unitarias de forma rápida, cómoda, extensible y fiable.
JUnit ha tenido tanto éxito que se ha extendido a otros muchos lenguajes de programación, gracias al trabajo desinteresado de muchos programadores. Todos los frameworks heredados de JUnit han recibido la denominación xUnit, con la que se indica que se trata de una migración, y se siguen las normas que marcó JUnit. Entre los framworks xUnit, existen versiones para C/C++ (CUnit y CPPUnit), Delphi (DUnit), PHP (PHPUnit), HTML (HTMLUnit), NUnit (plataforma .NET), VBUnit (Visual Basic) y un largo etc.
El modo de trabajar de todos los frameworks xUnit es parecido entre ellos, aunque cada uno con las peculiaridades de su propio lenguaje. La idea principal ya la hemos explicado: se trata de desarrollar una unidad que se encargue de probar a otra unidad. Para programar esta prueba, se hace un uso intensivo de la unidad que queremos probar, verificando en todo momento que se comporta como esperábamos.
Para el mundo C/C++ existen varios frameworks, unos más conocidos que otros. El principal y más conocido es CPPUnit, que trataremos a continuación, aunque también deberías considerar el uso de Boost.Test, CPPUnitLite, NanoCPPUnit, Unit++ y CxxTest. La página de Noel Llopis (un desarrollador de juegos en C++) tiene una interesante comparativa de test frameworks (marcos de pruebas).
|
Opiniona sobre 'Pruebas unitarias con CPPUnit - Herramientas de prueba' (2)
Opina sobre este tutorial |

