는 인터페이스조롱 된 함수에 전달 된 인수에서 멤버 함수를 호출하는 가장 쉬운 방법은 무엇입니까?
class IFooable {
virtual void Fooable() = 0;
};
class IFoo {
virtual void Foo(IFooable* pFooable) = 0;
};
와 구을 모의 모의
class TMockFoo : public IFoo {
MOCK_METHOD1(Foo, void (IFooable*));
};
조롱 방법 Foo()
의 인수에 Fooable()
를 호출하는 작업을 지정하는 가장 쉬운 방법은 무엇입니까? 감안할 때
나는
TMockFoo MockFoo;
ON_CALL(MockFoo, Foo(_))
.WithArg<0>(Invoke(&IFooable::Fooable));
을 시도했지만 하나 개의 인수와
Invoke()
은 무료 기능이 아닌 멤버 함수를 기대하기 때문에이 컴파일되지 않습니다.
boost::bind
을 사용하면 코드가 너무 읽기 쉽습니다. 커스텀 Action
을 작성하기 전에, 내가 완전히 명백한 것을 놓치고 있는지 확인하고 싶었습니다. 이 것 때문에
* 아무도 모의하지 마십시오. 나쁜 습관 : P – Nawaz