3
메서드 호출에 Gmock을 사용하여 out 매개 변수로 QList heightsFromCsvResult 요소를 반환합니다.googlemock의 작업에 메서드 매개 변수 전달
EXPECT_CALL(*_mockAttributeRepository, getGeometryHeightValues(_,_))
.WillOnce(DoAll(SetArgReferee<1>(heightsFromCsvResult.at(0)), Return(true)))
.WillOnce(DoAll(SetArgReferee<1>(heightsFromCsvResult.at(1)), Return(true)))
.WillOnce(DoAll(SetArgReferee<1>(heightsFromCsvResult.at(2)), Return(true)))
.WillOnce(DoAll(SetArgReferee<1>(heightsFromCsvResult.at(3)), Return(true)));
첫번째 파라미터 LINENUMBER
getGeometryHeightValues(int lineNumber, QPair<QString, QString>)
에서 heightsFromCsvResult.at (LINENUMBER)에 대한 색인은 : 여기에서 현재 작동 코드이다. mockLineNumber이 Gmock에 의해 작성되지 않습니다 때문에,
int* mockLineNumber = new int;
EXPECT_CALL(*_mockAttributeRepository, getGeometryHeightValues(_,_))
.Times(4)
.WillRepeatedly(DoAll(SaveArg<0>(mockLineNumber), SetArgReferee<1>(heightsFromCsvResult.at(*(mockLineNumber))), Return(true)));
하지만이 코드는 작동하지 않습니다
는 지금은 더 일반적인 방법으로 Gmock를 사용하려고합니다. 그러나 EXPECT_CALL이 만족됩니다.
누구나 코드에서 문제를 볼 수 있습니까? 같은 EXPECT_CALL 내 SaveArg의 변수 세트를 사용하여
이