Я только что видел ccspec, и это выглядит очень многообещающе.
https://github.com/zhangsu/ccspec
В основном использует конструкции C ++ 11 для создания чего-то, что читается так же, как rspec. Похоже, это будет соответствовать всем требованиям, если вы ищете rspec, как инструмент BDD. Взгляните на следующий пример с сайта:
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"));
});
});
Кто-нибудь здесь пробовал? Я не уверен, имеет ли он rspec-функцию для имитации, но похоже, что вы могли бы использовать gmock для некоторых насмешек. Не совсем есть возможность для функции с rspec, но может быть как можно ближе к C ++ 11