Pergunta

Eu adoro o estilo de desenvolvimento Ruby RSpec BDD. Existem algumas ferramentas boas para fazer isso com C / C ++?

Foi útil?

Solução

cspec é para C. Presumivelmente, ele vai trabalhar com C ++. Há uma lista de ferramentas para vários idiomas no Behavior Driven Development Wikipedia página .

Outras dicas

Parece que você pode testar o seu código C usando Ruby e RSpec usando gole para gerar wrappers! Veja o post de Ben Mabey aqui: http://benmabey.com/2007/09/09/bdd- your-c.html

Eu tentei esse exemplo fora e ele trabalhou para mim. Eu não tenho certeza se alguém tem tomado mais longe.

O link original ( CppSpec ) está morto, mas ainda é acessível no < a href = "https://archive.org/web/" rel = "nofollow noreferrer"> Internet Archive em CppSpec .

E como @VickyChijwani já mencionado, há uma cópia do projeto em Github - tpuronen / cppspec

Igloo é um que eu estou ansioso para tentar algum tempo

Uma vez que um RSpec como quadro foi solicitado, eu gostaria de acrescentar a recente iglu . Embora originalmente com o objetivo de Contexto sintaxe / Spec, ele também suporta Descreva / A sintaxe. Não há muito barulho na definição das luminárias corredor de teste e teste até como naqueles estruturas baseadas em C. Ele ainda se sente melhor a olhar do que CppSpec. Isto é conseguido através do uso de mecanismos de modelagem decentes.

Tente CBehave ! É um quadro RSpec-like BDD que usos dada / quando / macros então. Exemplo:

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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top