Напишите собственное исключение в логгере - PullRequest
0 голосов
/ 13 октября 2018

Есть метод для вставки элементов в массив.

  public boolean insertElementToSlot(Element element, int index) {
        checkArray(index);
        try {
            if (element != null && mas[index] == null) {
                mas[index] = element;
                return true;
            } else {
               throw  new ElementValidationException("Element.insertElementToSlot", device);
            }
        } catch (ElementValidationException d) {
            logger.log(Level.SEVERE, ""+d);
        }

        return false;
    }

И собственный класс исключений с методом:

public ElementValidationException(String operation, Element element) {
        super("Element is not valid for operation" + checkOperation(operation));
        this.element = element;
    }

При тестировании метода insertElementToSlot у меня ошибка

java.lang.AssertionError: Expected exception: com.inventory.exception.ElementValidationException

Почему ошибка связана и как ее решить?

1 Ответ

0 голосов
/ 13 октября 2018

Если у вас есть модульный тест, который ожидает исключение, его нужно выбросить из теста.Он не проверяет, что это исключение генерируется где-либо в коде, но перехватывается.

ПРИМЕЧАНИЕ: ваше исключение не используется в качестве исключения и может быть заменено сообщением журнала

Вашкод в основном такой же, как

public boolean insertElementToSlot(Element element, int index) {
    checkArray(index);
    if (element != null && mas[index] == null) {
          mas[index] = element;
          return true;
    }
    logger.log(Level.SEVERE, "some.package.ElementValidationException");
    return false;
}
...