logo de c++La gente de Google acaba de liberar como código abierto su framework de testeo para C++ (basado en xUnit). Este framework es utilizado internamente dentro de Google desde hace años para sus proyectos C++.

Si bien ya exisen varios frameworks de test para C++, Google Test intenta ofrecer una alternativa que surge de los problemas de testing encontrados en Google. Una de las ventajas de Google Test es que, por estar basado en xUnit, cuenta con una estructura que a muchos desarrolladores ya les resulta familiar. Además, cuenta con una buena cantidad de características, comparable con CppUnit.

Las características destacadas son:

  • Google Test es portable: funciona en distintas plataformas (Linux, Windows, Max OSX y más), con distintas versiones de compiladores GCC y MSVC, con y sin excepciones.
  • Soporta asersiones fatales y no fatales. Los test continúan ejecutándose luego de un fallo no fatal. Esto permite que se descubran más problemas y se pueda arreglar más rapidamente.
  • Provee muchas asersiones comunes para testeo, y es posible agregar nuevas asesionres de manera simple.
  • Está basado en la arquitectura xUnit, por lo que es simple de aprender para cualquiera que sepa utilizar otro framework similar (como JUnit).

Más información en la Guía de Desarrollo de Google Test, la Guía Avanzada de Google Test o mirando ejemplos de uso.

Inspiración.

"Si tú tienes una manzana y yo tengo una manzana e intercambiamos las manzanas, entonces tanto tú como yo seguiremos teniendo una manzana cada uno. Pero si tú tienes una idea y yo tengo una idea, e intercambiamos las ideas, entonces ambos tendremos dos ideas"

Bernard Shaw