Как написать тест с ожидаемым исключением в junit (java)?

В JUnit есть специальная аннотация @Test для создания тестовых методов. Для проверки ожидаемого исключения можно использовать аннотацию @Test в сочетании с параметром expected, который определяет класс ожидаемого исключения.

Вот пример кода, показывающий, как написать тест с ожидаемым исключением в JUnit:

import org.junit.Test;

public class MyTest {

    @Test(expected = MyException.class)
    public void testMethod() throws MyException {
        // Ваш код, генерирующий исключение MyException
    }
}

В этом примере MyException - пользовательское исключение, которое вы хотите проверить в тесте.

Когда тест запускается, JUnit ожидает, что в указанном тестовом методе будет сгенерировано исключение MyException. Если исключение не будет сгенерировано, тест будет считаться неудачным.

Вы также можете использовать assertThrows для проверки ожидаемого исключения в JUnit 5:

import org.junit.jupiter.api.Test;

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

public class MyTest {

    @Test
    public void testMethod() {
        assertThrows(MyException.class, () -> {
            // Ваш код, генерирующий исключение MyException
        });
    }
}

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

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