함수의 로컬 객체에 EXPECT_CALL을 사용할 수 있습니까? 예를 들어함수의 로컬 객체에 EXPECT_CALL을 사용 하시겠습니까?
:
template<class T>
std::string doSomethingWithTheCar()
{
T car;
return "the color of the car is: " + car.color();
}
class Car
{
public:
std::string color()
{
return "green";
}
};
class MockCar
{
public:
MOCK_METHOD0(color, std::string());
};
TEST(MockLocalObject, doSomethingWithCarTest) {
EXPECT_CALL(car, color())
.WillOnce(Return("red"));
std::string color = doSomethingWithTheCar<MockCar>();
EXPECT_EQ(color, "red");
}
실제 자동차 객체를 사용하거나 MockCar 될 경우 템플릿에 내가 제어 할 수 있습니다 인해. 하지만 여기에 EXPECT_CALL
을 사용하는 방법이 있습니까?
을 - 아니. 그러나 당신의 질문은 정확하지 않습니다, 나는 당신의 문제에 대한 쉬운 해결책이 있다고 확신합니다. 모의 클래스 메소드에 대한 호출을 기대할 수 있습니다.'testing :: MockFunction;'을 호출 할 수 있습니다. 정확히 무엇을 달성하기를 원하십니까? 설명하려고하십시오. https://stackoverflow.com/help/mcve를 제공하십시오. –
Ptaq666
@ Ptaq666 : 답변 해 주셔서 감사합니다. 나는 MockFunction을 모른다. 그러나 나는 그것을 조사 할 것이다. 나는 수업과 시험을 추가했다. 나는 그것을 원한다. 모든 GMocks 기능에 대한 전체 개요가 있습니까? 아직 API 문서를 찾지 못했습니다. – Ctwx
예, 여기 : https://github.com/google/googletest/tree/master/googlemock/docs – Ptaq666