我有一个像这样的模拟课:
struct MockClass {
MOCK_METHOD0(beginTransaction, void ());
MOCK_METHOD0(doSomething, void ());
MOCK_METHOD0(doSomethingElse, void ());
MOCK_METHOD0(commit, void ());
};
我想测试是否beginTransaction()在调用doSomething()and之前被调用doSomethingElse(),并commit()在最后被调用。我是这样做的:
{
InSequence s;
EXPECT_CALL(*mockObject, beginTransaction());
EXPECT_CALL(*mockObject, doSomething());
EXPECT_CALL(*mockObject, doSomethingElse());
EXPECT_CALL(*mockObject, commit());
}
这有效,但它过度指定了期望。我不关心 and 的顺序doSomething(),doSomethingElse()只beginTransaction()在开头commit()调用它,在最后调用它。有没有办法做到这一点?