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 ++.
#include "xUnit++/xUnit++.h"
FACT("Foo and Blah should always return the same value")
{
Check.Equal("0", Foo()) << "Calling Foo() with no parameters should always return \"0\".";
Assert.Equal(Foo(), Blah());
}
THEORY("Foo should return the same value it was given, converted to string", (int input, std::string expected),
std::make_tuple(0, "0"),
std::make_tuple(1, "1"),
std::make_tuple(2, "2"))
{
Assert.Equal(expected, Foo(input));
}
Principales características:
- Increíblemente rápido: las pruebas se ejecutan simultáneamente .
- Portátil
- Registro automático de prueba
- Muchos tipos de aserciones (Boost no tiene nada en xUnit ++)
- Compara colecciones forma nativa.
- Las aserciones entran tres niveles:
- Errores fatales
- errores no fatales
- advertencias
- Registro de afirmación fácil :
Assert.Equal(-1, foo(i)) << "Failed with i = " << i;
- PruebaRegistro de :
Log.Debug << "Starting test"; Log.Warn << "Here's a warning";
- Accesorios
- Basado en datosPruebas (teorías)
- Seleccione qué pruebas ejecutar función de:
- Atributo de coincidencia
- Nombre de subcadena matchin
- Suites de prueba