Рубрики
Без рубрики

Ожидаемое исключение JUnit 5

– Ожидаемое исключение JUnit 5

Автор оригинала: mkyong.

В JUnit 5 мы можем использовать assert Броски , чтобы утверждать, что выбрасывается исключение.

P.S Протестировано с JUnit 5.5.2

1. Непроверенное исключение

1.1 Пример JUnit для перехвата исключения во время выполнения.

package com.mkyong.assertions;

import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.*;

public class ExceptionExample1 {

    @Test
    void test_exception() {

        Exception exception = assertThrows(
			ArithmeticException.class, 
			() -> divide(1, 0));

        assertEquals("/ by zero", exception.getMessage());

        assertTrue(exception.getMessage().contains("zero"));

    }

    int divide(int input, int divide) {
        return input / divide;
    }
}

2. Проверенное исключение

2.1 Пример JUnit для перехвата пользовательского исключения/исключения во время компиляции.

package com.mkyong.assertions;

public class NameNotFoundException extends Exception {
    public NameNotFoundException(String message) {
        super(message);
    }
}
package com.mkyong.assertions;

import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.*;

public class ExceptionExample2 {

    @Test
    void test_exception_custom() {
        Exception exception = assertThrows(
			NameNotFoundException.class, 
			() -> findByName("mkyong"));
			
        assertTrue(exception.getMessage().contains("not found"));
    }

    String findByName(String name) throws NameNotFoundException{
        throw new NameNotFoundException( name + " not found!");
    }
}

Скачать Исходный Код

Оригинал: “https://mkyong.com/junit5/junit-5-expected-exception/”