Mockito를 사용하여 간단한 setter 메서드를 조롱하는 방법을 알아낼 수 없습니다. Mockito의 settermethod를 덮어 쓰는 방법은 무엇입니까?
class MyClass {
private SomeObject someObject;
public void setSomeObject(SomeObject someObject) {
this.someObject = someObject;
}
public someObject getSomeObject() {
return someObject;
}
}
가 지금은 그냥 "setSomeObject"가 호출 될 때 "SomeObject의"의 새로운 인스턴스가 설정되어 있음을 원하는 : 나는 다음과 같은 클래스가 있습니다. 또한 setter 내의 매개 변수는 무시되어야합니다.
MyClass mockedClass = mock(MyClass.class);
when(mockedClass.setSomeObject([ignoreWhatsInHere]))
.then(mockedClass.setSomeObject(new SomeObject();
그러나, 나는이 근무 구문을 얻을 수없는 것 :
나는 이런 식으로 뭔가를해야합니다. getters()를 사용하여 모의 작업을 수행 할 수 있습니다. 왜냐하면 반환 할 수 있기 때문입니다. 하지만 나는 setters()에 대해 동일한 작업을 수행하는 방법을 알아낼 수 없습니다.
모두에게 감사드립니다.
왜 필요한가요? 정확히 무엇을 달성하고 싶습니까? – axtavt
hmm이 작업은 void가 적용되지 않는다고 말합니다./ – Lonelyisland
잘 setSomeObject()가 어떻게 든 호출됩니다 : myClass.setSomeObject (someWeirdFunction.whichreturnsfinallySomeObject()). 그래서 사실 setter에 대한 호출이 존재 하는지를 알고 싶습니다. 그런 다음 객체를 직접 설정해야합니다. – Lonelyisland