মকিতো সহ কোনও প্রাইভেট সদস্যের কাছ থেকে পদ্ধতিগুলি পরীক্ষা করার উপায় রয়েছে। ধরা যাক আপনার মতো ক্লাস রয়েছে:
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
তবে একটি পদ্ধতি চাওয়া হবে SomeOtherClass
, আপনি নীচের মতো কিছু লিখতে পারেন।
@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();
আপনি গুপ্তচর করতে পারেন এমন কিছু দিয়ে ব্যক্তিগত সদস্যকে স্ট্যাঙ্ক করবে।