2010-02-24 8 views

Antwort

1

Beschreibung von Rspec sagt:

RSpec das ursprüngliche Verhalten ist Driven Development Framework für Ruby.

Ich denke, das bedeutet, dass dieses Tool Ruby-spezifisch ist. Für C++ können Sie Boost Test Library oder andere Tools verwenden.

+0

Hängt davon ab, was Sie mit rspec machen wollen. Project im arbeiten hat einige Jungs, die Gurken Features schreiben und sie zu tatsächlichen Test-Suiten für Anwendungen mit C++ und Qt geschrieben. Es gibt einige zusätzliche Software in der Mischung, aber afaik, es ist immer noch machbar. – rasjani

+0

Schauen Sie sich meine Antwort an, http://Stackoverflow.com/a/41783609/2009612, ich fand zufällig einen Blog über das Testen von C/C++ mit Ruby. – Pred

1

Ich glaube nicht, dass RSpec für C++ funktioniert, aber Sie sollten dieses Verständnis check out: http://gamesfromwithin.com/exploring-the-c-unit-testing-framework-jungle

Aus meiner Erfahrung: Sie CppUnit verwenden können, aber es ist irgendwie schmerzhaft. Es gibt eine Menge Overhead pro Test (Overhead bedeutet Codezeilen), so dass Tests lästig werden. CppTest sieht ein bisschen besser aus, und Cxxtest scheint wirklich nett zu sein, obwohl ich die letzten beiden nicht selbst benutzt habe.

+0

+1 für den Link. – pierrotlefou

1

Ich weiß, dass ich eine ANCIENT Frage auferstehe ... aber ich bekomme diesen Link von Google, wenn ich rspec und C++ suche.

Google selbst erstellte eine (ziemlich einfach zu verwendende) Testsuite namens GoogleTest, die auf xUnit basiert und plattformübergreifend entwickelt wurde.

Sie haben auch einen spöttischen Rahmen namens GoogleMock.

+0

Ein paar hilfreiche Diskussionen: http://stackoverflow.com/questions/87794/c-unit-testing-framework http://stackoverflow.com/questions/20606793/state-of-the-art-c-unit -testen –

1

Ich sah gerade ccspec, und es sieht sehr vielversprechend aus.

https://github.com/zhangsu/ccspec

Grundsätzlich verwendet C++ 11-Konstrukte, etwas zu machen, die genau wie rspec liest. Es sieht so aus, als würde es die Rechnung passen, wenn Sie nach einem rspec wie BDD Tool suchen. Werfen Sie einen Blick auf das folgende Beispiel von der Website:

class Student { 
public: 
    bool hasPapers() const { 
    return true; 
    } 

    string status() const { 
    return "alumni"; 
    } 
}; 

auto student_spec = describe("Student", [] { 
    Student subject; 

    it("has published papers", [subject] { 
    expect(subject.hasPapers()).to(be_truthy); 
    }); 

    it("is alumni", [subject] { 
    expect(subject.status()).to(eq("alumni")); 
    }); 
}); 

Hat jemand hier versucht es? Ich bin mir nicht sicher, ob es rspec wie Spottfunktion hat, aber es sieht so aus, als könnten Sie Gmock nutzen, um etwas Spott zu machen. Nicht ganz dort Feature für Feature mit rspec, aber möglicherweise so nah wie möglich in C++ 11

0

Ich dachte die gleiche Sache, als ich begann zurück in C/C++ Entwicklung und fing an, nach etwas ähnlich zu suchen RSpec oder MiniTest für Ruby und JUnit für Java.

http://sodabrew.com/2012/04/writing-c-unit-tests-in-ruby.html

Was dieser Link zeigt, wie die FFI gem benutzen, um Ihre C/C++ Objektdatei in Ruby zu laden, und nennt es fast, als ob es eine native Ruby-Funktion war. Sie könnten es geschickt finden.