Я бы хотел, чтобы подразделение тестировало мои классы сопоставления JDBI, так как не все имеют тривиальное сопоставление свойств.JDBI mapper Тесты JUnit
Мой класс тестирования выглядит следующим образом:
public class IdentRuleMapperTest {
@Mock
ResultSet resultSet;
@Mock
ResultSetMetaData resultSetMetaData;
@Mock
StatementContext ctx;
IdentRuleMapper mapper;
@Before
public void setup() {
mapper = new IdentRuleMapper();
}
@Test
public void mapTest() throws SQLException {
Mockito.when(resultSet.getString("ID")).thenReturn("The ID");
Mockito.when(resultSet.getString("NAME")).thenReturn("The name");
Mockito.when(resultSet.getString("REGULATION")).thenReturn("CRS");
Mockito.when(resultSet.getString("JSON_ACTIONS_STRING")).thenReturn("the json string");
IdentRule identRule = mapper.map(0, resultSet, ctx);
}
}
Испытание бросает NPE на линии
Mockito.when(resultSet.getString("ID")).thenReturn("The ID");
Любой человек может указать мне, почему это не будет работать?
Guess: Вы используйте '@RunWith (MockitoJUnitRunner.class)', чтобы убедиться, что аннотация ResultSet оценивается? –