Метод DAOClass.makeDBConnection() возвращает источник данных, настроенный (используя поиск) в Application Server (Jboss). Необходимо выполнить тестовый пример junit для этого сценария.подавляющее исключение NullPointerException в Mockito?
Используя Mockito, протестируйте метод DAO следующим образом. Поскольку он не может найти источник данных (как и ожидалось), он возвращает NullPointerException. Как обращаться с NullPointerException и вернуть соединение, которое я создаю в нижнем коде? ИЛИ существует ли какая-либо другая лучшая модульная тестовая среда, которая обрабатывает этот сценарий?
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection("jdbc:sqlserver://DB:1433;DatabaseName=databasename", "userid", "password");
when(DAOClass.makeDBConnection()).thenReturn(conn);
Мне интересно, как статические вызовы методов вызывают проблему? даже если я создаю объект DAOClass и вызывается метод makeDBConnection(), он все равно бросает исключение NullPointerException. – Kumar
, когда вы говорите «даже если я создаю объект DAOClass и вызываю метод makeDBConnection()», является ли метод неподвижным? Или вы его изменили? –
На основании соглашения об именах я предположил, что вы вызывали 'makeDBConnection' в самом классе DAOClass, а не в экземпляре, поэтому я предположил, что он является статическим. Таким образом, ваша проблема заключается не в том, чтобы избежать или пресечь исключение NullPointerException, это переработка вашего теста, поэтому вы устанавливаете ожидания на экземплярах объектов и вставляете эти экземпляры объектов в свой тест. –