Mockitoを使用してHibernateのセッション構成をock笑する問題
質問
次のモッキングコードが機能しない理由は何ですか?
org.hibernate.SessionFactory sessionFactory = Mockito.mock(SessionFactory.class);
org.hibernate.Session session = Mockito.mock(Session.class);
Mockito.when(sessionFactory.getCurrentSession()).thenReturn(session);
TheRreturnステートメントはコンパイルされません。 "inovinging -stubbingのタイプのメソッド(セッション)は、引数(セッション)には適用されません。」しかし、なぜ適用されないのですか?輸入品が正しく把握されていると思います。
解決
これは、タイプが実際に返されたためです SessionFactory.getCurrentSession()
は org.hibernate.classic.Session
, 、サブタイプです org.hibernate.Session
. 。モックを正しいタイプに変更する必要があります。
org.hibernate.classic.Session session = Mockito.mock(org.hibernate.classic.Session.class);
所属していません StackOverflow