2017-09-11 1 views
0

I이 참조 인수가있는 조롱 기능 :GMock하십시오 조롱 기능에 대한 참조 인수를 캡처

MOCK_METHOD(func, void(MyObj &obj); 

이 난에 메소드를 호출 할 수 있도록 변수로 OBJ를 캡처하고 싶습니다를 단위 테스트. 그래서 다음과 같이합니다 :

MyObj *capturedObj; 
EXPECT_CALL(foo, func(testing::_)).WillOnce(<capture arg into capturedObj>); 
capturedObj->bar(); 

어떻게하면됩니까?

답변

0

당신은 그것을 위해 custom action을 작성할 수 있습니다

ACTION_P(SaveArgAddress, p) { 
    p = &arg; 
} 

다음 해당 작업을 사용합니다.

하지만 테스트에서 코드를 실행하는 경우에만 capturedObj가 초기화된다는 점에 유의 할 것을 EXPECT_CALL 실제로 전화와 일치하는 경우에만 - 당신이 EXPECT_CALL 매크로를 실행 하지 직후합니다.

관련 문제