gpt4 book ai didi

c++ - 对本地方法使用 EXPECT_CALL

转载 作者:行者123 更新时间:2023-11-28 04:16:28 27 4
gpt4 key购买 nike

我知道 EXPECT_CALL 应该用于模拟类及其对象/方法。但是有没有可能使用它来期望调用本地方法?

void Sample::Init()
{
// some codes here...

auto enabled = isFeatureEnabled();

//some other things here
}

bool Sample::isFeatureEnabled()
{
return lights_ and sounds_;
}

我想 EXPECT_CALL isFeatureEnabled() - 这完全可能吗?

最佳答案

你可以试试这个,我觉得这个方法很有用:

class template_method_base {
public:
void execute(std::string s1, std::string s2) {
delegate(s1 + s2);
}

private:
virtual void delegate(std::string s) = 0;
};

class template_method_testable : public template_method_base {
public:
MOCK_METHOD1(delegate, void(std::string s));
};

TEST(TestingTemplateMethod, shouldDelegateCallFromExecute) {
template_method_testable testable_obj{};

EXPECT_CALL(testable_obj, delegate("AB"));

testable_obj.execute("A", "B");
}

关于c++ - 对本地方法使用 EXPECT_CALL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56487346/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com