Я пытался запустить следующий тест, используя mockito и junit, и я продолжаю получать «java.lang.NullPointerException: имя не должно быть null» Может кто-нибудь сказать почему это происходит?Mockito & Junit null Указатель исключения: имя не должно быть 0:
На отладку, я обнаружил, что это исключение, когда тест выполняет следующую инструкцию в методе isStopValid (String):
FacilityValidationUtil facUtil = новый FacilityValidationUtil();
@RunWith(MockitoJUnitRunner.class)
public class MyFormTest{
@InjectMocks MyForm form = new MyForm();
@Mock FacilityValidationUtil facUtil;
@Test
public void testIsStopValid() throws FinderException{
when(facUtil.isFacilityValid("")).thenReturn(false);
form.setOrigin("");
assertEquals(false, form.isStopValid(form.getOrigin()));
}
}
класса с методом для тестирования:
public class MyForm{
FacilityValidationUtil facUtil = new FacilityValidationUtil();
public boolean isStopValid(String stop){
try {
return facUtil.isFacilityValid(stop);
} catch (FinderException e) {
log.error("Error finding the stop. "+e.getCause());
return false;
}
}
}
public class FacilityValidationUtil{
private FacilityDAO facilityDao = new HibernateFacilityDAO();
public boolean isFacilityValid(String facility) throws FinderException{
boolean test;
FacilityImpl facilityImpl = facilityDao.findFacilityByNassCode(facility);
test = (facilityImpl==null)?false : true;
return test;
}
}
public class HibernateFacilityDAO extends HibernateAbstractDeltaDAO implements FacilityDAO {
public HibernateFacilityDAO() {
super(false);
}
}
Какая строка в 'testIsStopValid()' вызывает исключение? – Magnilex
@MagnusTengdahl assertEquals (false, form.isStopValid (form.getOrigin())); Спасибо. – Susie