Esistono buoni strumenti BDD open source per C / C ++? [chiuso]
Domanda
Adoro lo stile di sviluppo BDD di Ruby RSpec. Esistono buoni strumenti per farlo con C / C ++?
Soluzione
cspec è per C. Presumibilmente funzionerà con C ++. C'è un elenco di strumenti per varie lingue nella pagina Wikipedia sullo sviluppo comportamentale .
Altri suggerimenti
Sembra che tu possa testare il tuo codice C usando Ruby e RSpec usando swig per generare wrapper! Vedi il post di Ben Mabey qui: http://benmabey.com/2007/09/09/bdd- your-c.html
Ho provato questo esempio e ha funzionato per me. Non sono sicuro che qualcuno l'abbia portato oltre.
Il link originale ( CppSpec ) è morto, ma è ancora accessibile all'indirizzo < a href = "https://archive.org/web/" rel = "nofollow noreferrer"> Internet Archive all'indirizzo CppSpec .
E come già menzionato @VickyChijwani, c'è una copia del progetto su Github - tpuronen / cppspec
Igloo è uno che non vedo l'ora di provare un po 'di tempo
Poiché è stato richiesto un framework simile a RSpec, vorrei aggiungere il recente igloo . Sebbene originariamente mirasse alla sintassi Context / Spec, supporta anche la sintassi Describe / It. Non c'è molto rumore nell'impostare il test runner e testare i dispositivi come in quei framework basati su C. È anche meglio guardare che CppSpec. Ci riescono attraverso l'uso di discrete meccaniche di templating.
Prova CBehave ! È un framework BDD simile a RSpec che utilizza macro date / when / then. Esempio:
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