У меня есть этот фрагмент кода, и он хорошо работает:
class If2{
public:
virtual void set(const char* s)=0;
};
class Impl2:public If2{
public:
MOCK_METHOD1(set, void(const char*));
};
TEST(t2,case2){
Impl2 mock;
EXPECT_CALL(mock,set).Times(Between(1,5));
mock.set("aa");
}
Но когда я добавляю 2 EXPECT_CALL для set (), он не работает:
TEST(t2,case2){
Impl2 mock;
EXPECT_CALL(mock,set).Times(Between(1,5));
EXPECT_CALL(mock,set(Not(HasSubstr("bb"))));
mock.set("aa");
}
Сообщение об ошибке:
Actual function call count doesn't match EXPECT_CALL(mock, set)...
Expected: to be called between 1 and 5 times
Actual: never called - unsatisfied and active
Это действительно странно для меня, я однажды назвал "set", почему несколько EXPECT_CALL здесь не работают?Благодаря.