전 세계적으로 클래스 메소드를 모의 할 필요가 있습니다.mockito에서 메소드 호출을 전역으로 조롱하는 방법은 무엇입니까?
내 말은 조롱 된 개체 및 스텁 메서드를 만들 수 없다는 의미입니다. 내 API는이 객체를 인수로 사용하지 않기 때문에 함수 호출 안에서 전달할 수는 없지만이 클래스의 객체는 해당 함수 내부에서 생성되어 사용됩니다. 그래서 전 세계를 조롱해야합니다.
class A {
public void methodA() {}
}
모의 메소드 A()가 필요합니다.
나는 모키토에 의해 생존하는 것이 거의 불가능할 수도 있습니다. 누구나이 아이디어를 얻는 방법을 알고 있습니까? 아니면 코드를 다시 작성해야합니까?
당신은 분명하지 않습니다. "글로벌"이란 무엇을 의미합니까? 정확히 당신이해야 할 일은 무엇입니까? "mock()"호출로 클래스의 조롱 된 인스턴스를 만들고 해당 조롱 된 인스턴스에서 "when()"의 변형을 가진 메소드의 동작을 제한합니다. 나는이 모든 것을 알고 있다고 가정합니다. 그래서 당신의 문제는 정확히 무엇입니까? 아마도 더 많은 코드를 보여 주어야할까요? –
메소드 내에서 새로운 객체를 생성하지 않도록 코드를 리팩터링해야합니다. 이렇게하는 방법에 대한 몇 가지 아이디어가 있습니다 (https://code.google.com/p/mockito/wiki/MockingObjectCreation). –
리팩터링이 더 좋다면, 예를 들어'공장 '을 소개 할 수 있습니다. 또는 당신이 비싸거나 할 수없는 경우에, powermock로 시도하십시오. – gontard