Frage

Ich liebe die Ruby-RSpec BDD Entwicklung Stil. Gibt es gute Werkzeuge, dies zu tun mit C / C ++?

War es hilfreich?

Lösung

CSPEC für C. ist Vermutlich wird es mit C ++ zu arbeiten. Es gibt eine Liste von Werkzeugen für die verschiedenen Sprachen auf der Behavior Driven Development Wikipedia .

Andere Tipps

Es scheint, dass Sie Ihren C-Code mit Ruby und RSpec mit swig Wrapper generieren testen können! Siehe Ben Mabey der Beitrag hier: http://benmabey.com/2007/09/09/bdd- Ihr-c.html

Ich habe dieses Beispiel ausprobiert und es funktioniert für mich. Ich bin mir nicht sicher, ob jemand es weiter genommen hat.

Der Original-Link ( CppSpec ) ist tot, aber es ist immer noch zugänglich zu der < a href = "https://archive.org/web/" rel = "nofollow noreferrer"> Internet Archive unter CppSpec .

Und wie @VickyChijwani bereits erwähnt, gibt es eine Kopie des Projekts unter Github - tpuronen / cppspec

Igloo ist ein freue ich mich einige Zeit, um zu versuchen,

Da ein RSpec wie Rahmen angefordert wurde, würde ich die letzten hinzufügen, Iglu . Obwohl ursprünglich im Kontext / Spec Syntax Ziel, sondern unterstützt auch / Beschreiben Sie Syntax. Es gibt nicht viel Lärm um die Testläufer und Prüfvorrichtungen nach oben wie in den C-basierten Frameworks bei der Einrichtung. Es fühlt sich an, noch besser zu sehen als CppSpec. Sie erreichen dies durch die Verwendung von anständiger Templating Mechanik.

Versuchen Sie CBehave ! Es ist ein RSpec artigen BDD-Framework, das gegeben Verwendungen / wenn / dann Makros. Beispiel:

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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top