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))
,但不知道如何驗證從調用到調用的參數。