Existe-t-il de bons outils BDD open source pour C / C ++? [fermé]
Question
J'aime le style de développement Ruby RSpec BDD. Existe-t-il de bons outils pour le faire avec C / C ++?
La solution
cspec est destiné à C. Il est probable que cela fonctionne avec C ++. Une liste d’outils pour différentes langues figure sur la page sur le développement fondé sur le comportement .
Autres conseils
Il semble que vous puissiez tester votre code C en utilisant Ruby et RSpec en utilisant swig pour générer des wrappers! Voir le post de Ben Mabey ici: http://benmabey.com/2007/09/09/bdd- votre-c.html
J'ai essayé cet exemple et cela a fonctionné pour moi. Je ne sais pas si quelqu'un a poussé plus loin.
Le lien d'origine ( CppSpec ) est mort, mais il est toujours accessible à <. a href = "https://archive.org/web/" rel = "nofollow noreferrer"> Archives Internet à CppSpec .
Et, comme @VickyChijwani l'a déjà mentionné, il existe un exemplaire du projet à l'adresse Github - tpuronen / cppspec .
Igloo est celui que j'espère essayer un peu de temps
Puisqu’un cadre semblable à RSpec a été demandé, j'aimerais ajouter le récent igloo . Bien que visant à l'origine la syntaxe Context / Spec, il prend également en charge la syntaxe Describe / It. Il n'y a pas beaucoup de bruit dans la configuration du coureur de test et des montages de test, comme dans les frameworks basés sur C. Il est même préférable de regarder que CppSpec. Ils y parviennent en utilisant des mécanismes de modélisation décents.
Essayez CBehave ! Il s’agit d’un framework BDD de type RSpec qui utilise des macros données / quand / then. Exemple:
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