Ich liebe den Ruby RSpec BDD-Entwicklungsstil. Gibt es irgendwelche guten Werkzeuge, um dies mit C/C++ zu tun?Gibt es gute Open-Source-BDD-Tools für C/C++?
Antwort
cspec ist für C. Vermutlich wird es mit C++ funktionieren. Es gibt eine Liste von Tools für verschiedene Sprachen auf der Behavior Driven Development Wikipedia page.
Warum wird dies über cppspec unten gewählt? –
Möglicherweise weil ein Satz nützlicher ist als ein einzelnes Wort. – kurige
Weil er zuerst und mit einem zusätzlichen Link mit vielen Informationen antwortete. – srboisvert
Der ursprüngliche Link (CppSpec) ist tot, aber es ist immer noch zugänglich unter der Internet Archive um CppSpec.
Und wie @VickyChijwani bereits erwähnt, gibt es eine Kopie des Projektes an Github - tpuronen/cppspec
Die Verbindung ist unterbrochen. Ist https://github.com/tpuronen/cppspec das gleiche Projekt? –
Es scheint das gleiche zu sein. Sowohl das Github-Repository als auch [CppSpec] (Internet-Archiv) sind von Timo Puronen signiert (https://web.archive.org/web/20080208105001/http://www.laughingpanda.org/projects/cppspec/). –
Es scheint, dass Sie Ihren C-Code testen Ruby und RSpec mit swig mit Wrapper zu generieren! Siehe Ben Mabeys Beitrag hier: http://benmabey.com/2007/09/09/bdd-your-c.html
Ich habe dieses Beispiel ausprobiert und es hat für mich funktioniert. Ich bin mir nicht sicher, ob jemand es weiter gemacht hat.
Versuchen Sie CBehave! Es ist ein RSpec-ähnliches BDD-Framework, das gegebene/wann/dann-Makros verwendet. 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
Da ein RSpec wie Rahmen angefordert wurde, möchte ich die letzten igloo hinzuzufügen. Obwohl ursprünglich auf die Context/Spec-Syntax abgestellt, unterstützt sie auch die Describe/It-Syntax. Es gibt nicht viel Lärm beim Einstellen des Testlaufs und der Testvorrichtungen wie in diesen C-basierten Gerüsten. Es fühlt sich sogar besser an, als CppSpec zu betrachten. Sie erreichen dies durch eine anständige Templating-Mechanik.
Igloo ist ein freue ich mich einige Zeit
es scheint keine der Eigenschaften von Gurke noch Fitnesse zu haben, der Test ist immer noch im Code und es ist nicht lesbar/editierbar von Tester oder Business Analyst. –
Ist diese Frage zu C oder über C++ zu versuchen? C/C++ ist nichts als pure Mehrdeutigkeit. –