相关疑难解决方法(0)

Google Mock单元测试静态方法c ++

我刚刚开始进行单元测试(使用BOOST框架进行测试,但对于模拟我必须使用Google Mock)我有这种情况:

class A
{
static int Method1(int a, int b){return a+b;}
};

class B
{
static int Method2(int a, int b){ return A::Method1(a,b);}
};
Run Code Online (Sandbox Code Playgroud)

所以,我需要创建模拟类A,并使我的类B不使用A类中的真实Method1,而是使用mock.

我不知道该怎么做,我找不到类似的例子.

c++ googletest googlemock

15
推荐指数
1
解决办法
2万
查看次数

如何使用 gmock 来模拟 std::function?

我的类的构造函数是

A( ...
   std::function<bool(const std::string&, const std::string&)> aCallBack, 
   ... );
Run Code Online (Sandbox Code Playgroud)

我想用 EXPECT_CALL 来测试它。这个回调来自另一个 B 类。我创建了一个 Mock 像

class BMock : public B
{
    MOCK_METHOD2( aCallBack, bool(const std::string&, const std::string&) );
}
Run Code Online (Sandbox Code Playgroud)

然后我试过了

B *b = new B();
std::function<bool(const std::string&, const std::string&)> func = 
    std::bind(&B::aCallBack, b, std::PlaceHolders::_1, std::PlaceHolders::_2);
Run Code Online (Sandbox Code Playgroud)

它仍然不起作用。如何获取 gmock 对象的函数指针?

谢谢!!

testing tdd unit-testing googletest googlemock

5
推荐指数
1
解决办法
5323
查看次数

标签 统计

googlemock ×2

googletest ×2

c++ ×1

tdd ×1

testing ×1

unit-testing ×1