Я пишу JUnit, используя Mockito Framework.Моя цель - проверить достоверность методов DAO, запустив тестовые случаи на моем локальном соединении с базой данных.Пока я могу смоделировать сеанс, но не могу установить соединение:
import org.mockito.*;
@RunWith(MockitoJUnitRunner.class)
public class TestDAO{
@Mock
private SessionFactory mockedSessionFactory;
@Mock
private Session mockedSession;
@Mock
private SessionFactory hibernateSessionFactory;
@Mock
private Query mockedQuery;
@Mock
private Connection mockedConnection;
@Before
public void beforeTest(){
MockitoAnnotations.initMocks(this);
}
@Before
public void setUp() {
mockedSession=Mockito.mock(Session.class);
mockedSessionFactory = Mockito.mock(SessionFactory.class);
Mockito.when(mockedSessionFactory.openSession()).thenReturn(mockedSession);
mockedQuery=Mockito.mock(Query.class);
}
@Test
public void testConnection() throws SQLException {
when(mockedSessionFactory.getCurrentSession()).thenReturn(mockedSession);
mockedConnection = mockedSession.connection();
System.out.println(mockedSession);
System.out.println(mockedConnection);
}
Результат, который я получаю,
Макет для сеанса, hashCode: 1543237999 null
Здесь я не могу установить соединение.Я пытался смоделировать HibernateUtil
mockedHibernateUtil=Mockito.mock(HibernateUtil.class);
mockedHibernateUtil.setSessionFactory(mockedSessionFactory);
mockedSession=mockedHibernateUtil.getSessionFactory().openSession();
Но это дает
NullPointerException
Может ли кто-нибудь помочь мне с этим, Цель: дать тест EmployeeID ипроверить, находится ли этот сотрудник в «IT» или «HR».Запрос, класс домена и DAO устанавливаются в соответствии с Business.