ملتقطات الوسائط (Argument captors)
في هذا الدرس 4 موضوعات
هذا الدرس مخطط له. يعرض المخطط أدناه الموضوعات التي سيغطيها، ولم يُنشر الدرس الكامل بعد.
نص الدروس والتمارين باللغة الإنجليزية، بينما تبقى واجهة الموقع وعناوين الدروس بالعربية.
في هذا الدرس
inspect the object that was passed to a collaborator.
الموضوعات المخطط لها
ArgumentCaptor<T>records the argument of a call.- Use it when the code builds an object and hands it away (for example a saved
Order). - Capture with
verify(...).save(captor.capture()), thencaptor.getValue(). - Assert on the captured object with AssertJ.
- Do not capture when you can assert on a returned value.
تفاصيل المخطط المبدئي
عرض عملي
var captor = ArgumentCaptor.forClass(Order.class);
verify(orderRepository).save(captor.capture());
assertThat(captor.getValue().status()).isEqualTo(OrderStatus.PAID);اختبر فهمك
When is a captor useful?
أظهر الإجابة
When the object you want to check is passed to a collaborator, not returned.
التطبيق
طبّق هذا الدرس بمختبر الوحدة وتمارينها واختبارها.
تعليم الدرس كمكتمل اختياري ويمكنك التراجع عنه في أي وقت. يبقى تقدمك محفوظًا في هذا المتصفح.