Domanda

Adoro lo stile di sviluppo BDD di Ruby RSpec. Esistono buoni strumenti per farlo con C / C ++?

È stato utile?

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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top