1
Google Mock에는 아직 익숙하지 않기 때문에 아직 배우지 않습니다. 몇 가지 단위 테스트를 추가하고 메서드에서 호출 된 메서드를 올바르게 스텁하도록 ON_CALL()을 가져올 수없는 문제가 발생했습니다.C++ Google Mock - EXPECT_CALL() - 직접 호출하지 않을 경우 예상이 작동하지 않습니다.
다음 코드는 내가 가지고있는 것을 개략적으로 보여줍니다. 내 단위 테스트에서
class simpleClass
{
public:
bool simpleFn1() { return simpleFn2(); }
virtual bool simpleFn2() { return FALSE; }
}
내가 가진 :
class simpleClassMocked : public simpleClass
{
private:
MOCK_METHOD0(simpleFn2, bool());
}
class simpleClassTests : public ::testing::Test
{
}
TEST_F(simpleClassTests, testSimpleFn2)
{
shared_ptr<simpleClassMocked> pSimpleClass = shared_ptr<simpleClassMocked>(new simpleClassMocked());
ON_CALL(*pSimpleClass, simpleF2()).WillByDefault(Return(TRUE));
// This works as expected - simpleFn2() gets stubbed
pSimpleClass->simpleFn2();
// This doesn't work as expected - when simpleFn1 calls simpleFn2 it's not the stubbed expectation???
pSimpleClass->simpleFn1();
}
내가 여기 분명 뭔가 빠진해야 그림, 누군가가 도와 드릴까요? 감사!
귀하의 조롱 된 방법이 가상 일 필요가 있습니다. – PiotrNycz
아! 그게 될거야. 고마워요. 나는 그에 맞게 예제를 업데이트했다. – user7227230