নিম্নলিখিত পদ্ধতিটি পরীক্ষা করে নিচ্ছেন:
public boolean doSomething(SomeClass arg);
মকিতো ডকুমেন্টেশন বলছে যে আপনাকে এইভাবে বন্দিদশা ব্যবহার করা উচিত নয় :
when(someObject.doSomething(argumentCaptor.capture())).thenReturn(true);
assertThat(argumentCaptor.getValue(), equalTo(expected));
কারণ আপনি স্টাবিংয়ের সময় কেবল ম্যাচার ব্যবহার করতে পারেন:
when(someObject.doSomething(eq(expected))).thenReturn(true);
তবে যাচাইকরণ একটি ভিন্ন গল্প। আপনার পরীক্ষার যদি নিশ্চিত হওয়া দরকার যে এই পদ্ধতিটি একটি নির্দিষ্ট যুক্তির সাথে ডাকা হয়েছিল, ব্যবহার করুন ArgumentCaptorএবং এটি সেই ক্ষেত্রে এটি তৈরি করা হয়েছে:
ArgumentCaptor<SomeClass> argumentCaptor = ArgumentCaptor.forClass(SomeClass.class);
verify(someObject).doSomething(argumentCaptor.capture());
assertThat(argumentCaptor.getValue(), equalTo(expected));