Rspec ruby / rails是否具体?是否可以将它用作C / C ++程序的测试框架?
答案 0 :(得分:2)
我知道我正在复活一个古老的问题...但是当我搜索rspec和c ++时,我从谷歌那里得到了这个链接。
Google本身构建了一个名为GoogleTest的(非常简单易用)测试套件,该套件基于xUnit,旨在实现跨平台。
他们还有一个名为GoogleMock的模拟框架。
答案 1 :(得分:1)
答案 2 :(得分:1)
我不认为RSpec适用于C ++,但你应该看看这个理解:http://gamesfromwithin.com/exploring-the-c-unit-testing-framework-jungle
根据我的经验:你可以使用CppUnit,但它有些痛苦。每次测试都有很多开销(开销意味着代码行),因此添加测试变得很烦人。 CppTest看起来好一点,cxxtest似乎非常好,虽然我自己没有使用过最后两个。
答案 3 :(得分:1)
我刚看到ccspec,看起来非常有前途。
https://github.com/zhangsu/ccspec
基本上使用C ++ 11构造来创建类似于rspec的内容。如果您正在寻找像BDD工具这样的rspec,它看起来很合适。请查看网站上的以下示例:
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中的功能一样接近
答案 4 :(得分:0)
当我开始重新进入C / C ++开发并开始寻找类似于RSpec,或MiniTest for Ruby和JUnit for Java的东西时,我也在考虑同样的事情。
http://sodabrew.com/2012/04/writing-c-unit-tests-in-ruby.html
此链接显示的是如何使用FFI gem将C / C ++对象文件加载到Ruby中,并将其称为几乎就像是本机Ruby函数一样。你可能会发现它很漂亮。