Mockito يشكو من الحجج الخاطئة
سؤال
نحاول التحقق من سلوك إجراء مع Mockito. رمز الاختبار يبدو هكذا
final Type1 mock = mock(Type1.class);
new SomeAction<Type1>(mock).actionPerformed(null);
verify(mock).someMethod();
يحتوي Method ActionPerformed على دعوة Somemethod فقط على الكائن المقدم في مُنشئ Type1. ومع ذلك ، فإن Mockito يشكو من أن مكالمة الطريقة المتوقعة لم تحدث ، بدلاً من ذلك حدثت مكالمة مختلفة. لكن تمثيل السلسلة للمكالمتين المطبوعة بواسطة Mockito هو نفسه بالضبط!
أي تفسير ما يحدث؟
تحديث: errormessage من Mockito
Argument(s) are different! Wanted:
type1.someMethod();
-> at xxx
Actual invocation has different arguments:
type1.someMethod();
-> at xxx
المحلول
هذا قليلاً من الامتداد ، ولكن تحقق من تطبيقات tostring الخاصة بك. لقد واجهت بعض سيناريوهات اختبار الوحدة المهيجة حيث بدا أن المتوقع والملاحظة هو نفسه من وجهة نظر اختبار الوحدة عندما تكون مختلفة في الواقع. في النهاية ، كان هناك اختلاف في tostring الذي تسبب لي في الاعتقاد بوجود تشابه عندما لم يكن هناك في الواقع.
لا تنتمي إلى StackOverflow