아래의 JMock 메서드를 조롱하려고하는데 컴파일러 오류가 발생합니다.일반 매개 변수 조롱
클래스 조롱 :
public interface myClass<T extends SomeClass>{
public void myMethod(T parameter);
public void myOtherMethod();
}
모의 기대 :
exactly(1).of(myClassMocked).myOtherMethod();
exactly(1).of(myClassMocked).myMethod(with(any(SomeClass.class)));
컴파일 오류 : 내가 가지고있는
The method myMethod(capture#6-of ?) in the type myClass is not applicable for the arguments (SomeClass)
다른 호환 가능한 클래스로 Object.class를 전환하고 일치 프로그램을 사용하여 놀았습니다.
간단히 메소드 서명을 변경할 수 없습니다. 너무 쉽습니다.
길고 짧은이 특정 메서드 호출을 무시하고 싶지만 내 테스트 메서드에서 다른 작업에 사용하고있는 서비스이기 때문에 전체 MyClass 모의을 무시할 수 없습니다.
EDIT : T는 타입 컴파일 시간에 정의 될 수있는 것을 의미 수정이 인터페이스를 Parametrizing final myClass<SomeClass> myClassMocked= mockery.mock(myClass.class);
그것은 와일드 카드입니다. 나는 그것을 바꿨고 모든 것이 지금 일하고있다. 나를 올바른 방향으로 가리켜 주셔서 감사합니다. – AnthonyW