Ich bin ein Ruby-Programmierer und ich mag es sehr, TDD zu machen. Im Moment programmiere ich ein bisschen in C, aber ich mag meine Werkzeuge und die Art, wie ich mit Ruby programmiere. Also suche ich nach einem Rahmenwerk, um Komponententests in C durchzuführen. Was können Sie mir dazu sagen?
Ich habe bereits einige Optionen gefunden, wie zum Beispiel: cunit, conomer, CuTest und andere. Das Problem ist, ich weiß nicht, wie ich das Beste beurteilen soll. Ich schreibe einen einfachen Compiler für meinen Compilerkurs.
Könnten Sie mir helfen?
Sie können jedes C- oder C ++ Unit-Testframework verwenden. Es ist einfach, C-Funktionen von C ++ aus aufzurufen.
Meine Meinung ist, dass Sie so wenig Ergebnisse wie möglich von Ihren Tests haben wollen. Wenn also alles in Ordnung ist, sollte '100% passed'
gedruckt werden. Ansonsten sollten nur Details von Testfehlern ausgedruckt werden.
Siehe xprogramming.com , scrollen Sie nach unten zur Unit-Testtabelle und suchen Sie nach den Frameworks C Language
oder C++
. Der "Standard" scheint cppUnit zu sein.
Ich bin ein Ruby-Programmierer und ich mag es sehr, TDD zu machen. Im Moment programmiere ich ein bisschen in C, aber ich mag meine Werkzeuge und die Art, wie ich mit Ruby programmiere. Also suche ich nach einem Rahmenwerk, um Komponententests in C durchzuführen. Was können Sie mir dazu sagen?
Ich habe bereits einige Optionen gefunden, wie zum Beispiel: cunit, conomer, CuTest und andere. Das Problem ist, ich weiß nicht, wie ich das Beste beurteilen soll. Ich schreibe einen einfachen Compiler für meinen Compilerkurs.
Könnten Sie mir helfen?
Ich habe gtest verwendet und festgestellt, dass es ziemlich einfach zu verwenden ist (es ist jedoch C ++). Wirklich, es spielt doch keine Rolle, welches du wählst. Wähle einen aus und lerne ihn.
Es gibt eine Wiki-Seite, die Informationen zu rund 20 C-kompatiblen Unit-Test-Frameworks auflistet. Während es nicht genug Informationen sein kann, um eine Entscheidung zu treffen, ist es ein guter Ausgangspunkt.
Sie können jedes C- oder C ++ Unit-Testframework verwenden. Es ist einfach, C-Funktionen von C ++ aus aufzurufen.
Meine Meinung ist, dass Sie so wenig Ergebnisse wie möglich von Ihren Tests haben wollen. Wenn also alles in Ordnung ist, sollte %code% gedruckt werden. Ansonsten sollten nur Details von Testfehlern ausgedruckt werden.
Siehe xprogramming.com , scrollen Sie nach unten zur Unit-Testtabelle und suchen Sie nach den Frameworks %code% oder %code% . Der "Standard" scheint cppUnit zu sein.
Unity , ein Testframework für C hat eine breite Palette von Assertions, einschließlich bitweiser Vergleiche und Speicherblockvergleiche . Wenn Sie nicht mit einer großen Legacy-Codebasis arbeiten, rate ich Ihnen, Ceedling , das Mutterprojekt von Einheit. Ceedling erstellt Ihre Unity-Tests, Produktionscode und integriert ein nettes Spottframework namens CMock . CMock kann automatisch einen Schein / Ersatz für ein Modul aus dem Header seiner öffentlichen Schnittstelle generieren.
Es gibt ein Video, in dem Sie erfahren, wie Sie mit Ceedling und Unity beginnen können . (DISCLAIMER: Ich habe das Video erstellt).
Eine Alternative ist CppUTest . Es kompiliert zu 1 statischen Bibliothek (2, wenn Sie es verwenden möchten, ist Mock Framework, CppUMock ). Tests werden in C ++ geschrieben und integrieren sich in Ihr bestehendes Makefile-Projekt. Es bietet auch Alternativen zur Speicherlecksuche für malloc / free, new / delete. Im Vergleich dazu sind die Assertions nicht so umfassend wie Unity, aber wahrscheinlich besser zum Testen von älteren C / C ++ - Projekten geeignet.
Es gibt eine Wiki-Seite, die Informationen zu rund 20 C-kompatiblen Unit-Test-Frameworks auflistet. Während es nicht genug Informationen sein kann, um eine Entscheidung zu treffen, ist es ein guter Ausgangspunkt.
Unity , ein Testframework für C hat eine breite Palette von Assertions, einschließlich bitweiser Vergleiche und Speicherblockvergleiche . Wenn Sie nicht mit einer großen Legacy-Codebasis arbeiten, rate ich Ihnen, Ceedling , das Mutterprojekt von Einheit. Ceedling erstellt Ihre Unity-Tests, Produktionscode und integriert ein nettes Spottframework namens CMock . CMock kann automatisch einen Schein / Ersatz für ein Modul aus dem Header seiner öffentlichen Schnittstelle generieren.
Es gibt ein Video, in dem Sie erfahren, wie Sie mit Ceedling und Unity beginnen können . (DISCLAIMER: Ich habe das Video erstellt).
Eine Alternative ist CppUTest . Es kompiliert zu 1 statischen Bibliothek (2, wenn Sie es verwenden möchten, ist Mock Framework, CppUMock ). Tests werden in C ++ geschrieben und integrieren sich in Ihr bestehendes Makefile-Projekt. Es bietet auch Alternativen zur Speicherlecksuche für malloc / free, new / delete. Im Vergleich dazu sind die Assertions nicht so umfassend wie Unity, aber wahrscheinlich besser zum Testen von älteren C / C ++ - Projekten geeignet.