Mockito ile özel bir üyeden yöntemleri test etmenin bir yolu var. Diyelim ki böyle bir sınıfınız var:
public class A {
private SomeOtherClass someOtherClass;
A() {
someOtherClass = new SomeOtherClass();
}
public void method(boolean b){
if (b == true)
someOtherClass.method1();
else
someOtherClass.method2();
}
}
public class SomeOtherClass {
public void method1() {}
public void method2() {}
}
a.method
Denemek istiyorsanız bir yöntem çağıracaktır SomeOtherClass
, aşağıdaki gibi bir şey yazabilirsiniz.
@Test
public void testPrivateMemberMethodCalled() {
A a = new A();
SomeOtherClass someOtherClass = Mockito.spy(new SomeOtherClass());
ReflectionTestUtils.setField( a, "someOtherClass", someOtherClass);
a.method( true );
Mockito.verify( someOtherClass, Mockito.times( 1 ) ).method1();
}
ReflectionTestUtils.setField();
özel üyeyi casusluk yapabileceğiniz bir şeyle boğacaktır.