مشكلة السخرية من السباتي في السخرية باستخدام mockito
سؤال
أي فكرة لماذا لا يعمل رمز السخرية التالي؟
org.hibernate.SessionFactory sessionFactory = Mockito.mock(SessionFactory.class);
org.hibernate.Session session = Mockito.mock(Session.class);
Mockito.when(sessionFactory.getCurrentSession()).thenReturn(session);
بيان آنذاك لا يجمع. "الطريقة التي لا تنطبق عليها طريقة (جلسة) في النوع المستمر في الوسيطات (الجلسة)" ولكن لماذا لا ينطبق؟ أعتقد أن لدي الواردات برزت بشكل صحيح.
المحلول
هذا لأن النوع الذي تم إرجاعه بالفعل بواسطة SessionFactory.getCurrentSession()
هو org.hibernate.classic.Session
, ، وهو نوع فرعي من org.hibernate.Session
. ستحتاج إلى تغيير وهميةك إلى النوع الصحيح:
org.hibernate.classic.Session session = Mockito.mock(org.hibernate.classic.Session.class);
لا تنتمي إلى StackOverflow