Pregunta

Me encanta el estilo de desarrollo Ruby RSpec BDD. ¿Hay alguna buena herramienta para hacer esto con C / C ++?

¿Fue útil?

Solución

cspec es para C. Presumiblemente funcionará con C ++. Hay una lista de herramientas para varios idiomas en la página de Wikipedia de desarrollo conducido por el comportamiento .

Otros consejos

¡Parece que puedes probar tu código C usando Ruby y RSpec usando swig para generar envoltorios! Ver la publicación de Ben Mabey aquí: http://benmabey.com/2007/09/09/bdd- your-c.html

He probado ese ejemplo y funcionó para mí. No estoy seguro de si alguien lo ha llevado más allá.

El enlace original ( CppSpec ) está inactivo, pero aún está accesible en el < a href = "https://archive.org/web/" rel = "nofollow noreferrer"> Archivo de Internet en CppSpec .

Y como @VickyChijwani ya mencionó, hay una copia del proyecto en Github - tpuronen / cppspec

Igloo es uno que espero probar en algún momento

Dado que se solicitó un marco similar a RSpec, me gustaría agregar el reciente igloo . Aunque originalmente apuntaba a la sintaxis Context / Spec, también admite la sintaxis Describe / It. No hay mucho ruido al configurar el corredor de prueba y los accesorios de prueba como en esos marcos basados ??en C. Incluso se siente mejor mirar que CppSpec. Lo logran mediante el uso de una mecánica de plantilla decente.

¡Pruebe CBehave ! Es un marco BDD similar a RSpec que utiliza macros dadas / cuándo / luego. Ejemplo:

FEATURE(1, "strstr")
    SCENARIO("The strstr finds the first occurrence of the substring in the source string")

       GIVEN("A source string: [Lionel Messi is a great football player]")
           char *str = "Lionel Messi is a great football player";
       GIVEN_END

       WHEN("we use strstr to find the first occurrence of [football]")
           char *p = strstr(str, "football");
       WHEN_END

       THEN("We should get the string: [football player]")
           SHOULD_STR_EQUAL(p, "football player");
       THEN_END
   SCENARIO_END
FEATURE_END
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top