مشكلة السخرية من السباتي في السخرية باستخدام mockito

StackOverflow https://stackoverflow.com/questions/3846386

سؤال

أي فكرة لماذا لا يعمل رمز السخرية التالي؟

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);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top