"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية الاستهزاء بطرق إرجاع الوسائط المستلمة في Java؟

كيفية الاستهزاء بطرق إرجاع الوسائط المستلمة في Java؟

تم النشر بتاريخ 2024-11-16
تصفح:281

How to Mock Methods to Return Arguments Received in Java?

طرق الاستهزاء لإرجاع الوسائط المستلمة

في البرمجة الموجهة للكائنات، تُستخدم أطر العمل الساخرة مثل Mockito لإنشاء كائن وهمي يحاكي سلوك كائن حقيقي لأغراض الاختبار. أحد السيناريوهات الشائعة في الاختبار هو الحاجة إلى أن تقوم الطريقة الساخرة بإرجاع نفس الوسيطة التي تم تمريرها إليها.

تعبيرات Mockito وLambda (Mockito 1.9.5 وJava 8 )

بالنسبة لإصدارات Mockito 1.9.5 والإصدارات الأحدث بالتزامن مع Java 8 أو أعلى، يمكنك الاستفادة من تعبيرات lambda لتحقيق ذلك السلوك:

when(myMock.myFunction(anyString())).thenAnswer(i -> i.getArguments()[0]);

هنا، يمثل i مثيل InvocationOnMock، ويقوم getArguments()[0] باسترداد الوسيطة الأولى التي تم تمريرها إلى الطريقة المستهزئة.

Mockito والإجابات المخصصة (الأقدم) الإصدارات)

بالنسبة للإصدارات الأقدم من Mockito، يمكنك استخدام تطبيق Mockito Answer المخصص:

MyInterface mock = mock(MyInterface.class);
when(mock.myFunction(anyString())).thenAnswer(new Answer() {
    @Override
    public String answer(InvocationOnMock invocation) throws Throwable {
        Object[] args = invocation.getArguments();
        return (String) args[0];
    }
});

تسترد هذه الإجابة المخصصة الوسيطة التي تم تمريرها وتعيدها، مما يسمح للأسلوب المستهزئ بتكرار الإدخال المستلم.

بيان الافراج أعيد طبع هذه المقالة على: 1729677594 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3