code:GMock EXPECT_CALL ne correspond pas à AnyMatcher
class MockDefault : public Verifyingcalls::DefaultSCI_OCB {
public:
MOCK_METHOD0(op, void());
MOCK_METHOD1(op1, void(sc_integer param1));
MOCK_METHOD2(op2, void(sc_boolean param1, sc_integer param2));
};
TEST_F(VerifyCallCount, after3Cycle) {
MockDefault defaultMock;
EXPECT_CALL(defaultMock, op1(_)).Times(AtLeast(4));
EXPECT_CALL(defaultMock, op2(_,_)).Times(AtLeast(4));
EXPECT_CALL(defaultMock, op1(5l)).Times(AtLeast(2));
EXPECT_CALL(defaultMock, op1(7l)).Times(AtLeast(2));
EXPECT_CALL(defaultMock, op2(true, 7l)).Times(AtLeast(2));
EXPECT_CALL(defaultMock, op2(true, 5l)).Times(AtLeast(2));
...
}
J'ai un problème ou au moins un comportement inattendu lors de l'exécution de ce test: Si je commente la EXPECT_CALL's
spécifique, le test fonctionne très bien, mais si je ne je reçois cet échec:
erreur:
Actual function call count doesn't match EXPECT_CALL(defaultMock, op2(_,_))...
Expected: to be called at least 4 times
Actual: never called - unsatisfied and active
..\gtests\VerifyCallCount\VerifyCallCount.cc:123: Failure
Question:
Ma question est, pourquoi le test échoue? Je suppose que la fonction op1
a été appelée au moins 4 fois, au moins deux fois avec l'argument 5 et deux fois avec l'argument 7. Alors pourquoi le test at-il échoué?
Avec quelles valeurs s'appelle-t-on? –
deux fois avec '(true, 7L)' et deux fois avec '(true, 5L)' –