2
我正在为使用GoogleTest和GoogleMock的C++类编写单元测试。我当前的代码看起来像下面:GoogleMock:如何验证输入参数w.r.t的调用次数?
MockNetConnector* connector = new MockNetConnector();
NetClient* client = new NetClient(connector);
TEST_F(NetClientTest, connect)
{
EXPECT_CALL(*connector, attempt_connect(_,_)).Times(3)
.WillOnce(Return(false))
.WillOnce(Return(false))
.WillOnce(Return(true));
std::string srv_list = "127.0.0.1:30001,127.0.0.2:30002,127.0.0.3:30003";
bool is_connected = client->connect(srv_list);
ASSERT_TRUE(is_connected);
}
正如你所看到的,目前(*connector).attempt_connect(_,_)
不验证输入参数。现在我希望它在每次调用时验证输入,即输入应该是(127.0.0。x,3000 x)调用x-。
我知道如何验证固定值的参数,例如attempt_connect(StrEq("127.0.0.1"),Eq(30001))
,但不知道如何验证从调用到调用的参数。