我有一个像这样的模拟课:
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()
调用它,在最后调用它。有没有办法做到这一点?