我知道這個問題的第一部分已被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