Я работаю через ниже урока:JUnit тест неудачу с NPE при тестировании метода валидатор
http://docs.spring.io/docs/Spring-MVC-step-by-step/part4.html
Я пытаюсь проверить метод проверки в поле ниже класса:
public class PriceIncreaseValidator implements Validator {
public void validate(Object obj, Errors errors) {
PriceIncrease pi = (PriceIncrease) obj;
if (pi == null) {
errors.rejectValue("percentage", "error.not-specified", null, "Value required.");
}
........
}
Ниже это мой тестовый пример JUnit:
private PriceIncreaseValidator priceIncreaseValidator;
private PriceIncrease priceIncrease;
private Errors errors;
public void testEmptyPriceIncrease() {
priceIncreaseValidator.validate(priceIncrease, errors); // This is where I get NPE
assertTrue(errors.hasErrors());
}
Так что я получаю NPE при вызове метод проверки в моем тестовом примере JUnit. Тест и класс все компилируются отлично.
Я попытался преобразования priceIncrease в объект согласно ниже, но все-таки не повезло:
Object obj = priceIncrease;
//validate
priceIncreaseValidator.validate(obj, errors);
Любые идеи?
Как вы можете видеть, я пытаюсь проверить, что если не было установлено повышение цены, то при вызове validate возвращается ошибка.
Спасибо, я создал экземпляр PriceIncreaseValidator и PriceIncrease. Однако я не могу создать экземпляр ошибок, поскольку это интерфейс. Любые идеи, как решить эту проблему. Благодарю. \t private PriceIncreaseValidator priceIncreaseValidator = new PriceIncreaseValidator(); частное ЦенаСвежут ценуИнвестиция = новая ЦенаИнвестиция(); частные ошибки ошибок; – Sudhir
@ Судир См. Обновление. –
Блестящий, спасибо, отлично работает сейчас. – Sudhir