我知道这个问题的第一部分已被asked before,但那是很久以前的:)。我想知道在开发模拟非虚拟方法和C函数时,任何开源嘲讽框架的平均时间是否都赶上了Typemock Isolator ++。我最感兴趣的是Linux下的gcc。到目前为止,我对模仿访问器感兴趣(以便我可以在模拟对象中模拟状态 - 参见下文),并从其他库(select,pcap_ *等)中替换C函数。C++模拟框架能够模拟非虚拟方法和C函数
class Foo {
public:
...
bool IsCondition() { return condition; };
...
private:
bool condition;
}
// I want a framework that allows me to do something like this:
TEST(TestFoo) {
MOCK_INTERFACE(Foo) mock_foo;
EXPECT_CALL(mock_foo, IsCondition).returns(true);
EXPECT(mock_foo.IsCondition());
}
随着C++ 11的可变参数模板和完美的转发,它看起来像实现你正在寻找的东西应该比以前更容易*。 – Flexo 2012-01-17 17:11:05