гугл макет несколько EXPECT_CALL конфликтуют друг с другом? - PullRequest
0 голосов
/ 04 октября 2018

У меня есть этот фрагмент кода, и он хорошо работает:

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 здесь не работают?Благодаря.

...