В IntelliJ с проектом Springboot (2.6.6) с использованием JUnit 5, учитывая следующий тестовый класс, IntelliJ не отображает исключения, возникающие в методе @BeforeAll.
@ExtendWith(SpringExtension.class)
public class SpringTest {
private Object OBJECT = new Object();
@BeforeAll
public static void before() {
throw new RuntimeException("SpringTest.RuntimeException"); // replace by actual business code
}
@Test
public void test() {
// Doesn't matter
assertNotNull(this.OBJECT);
}
Запуск класса в IntelliJ (только этот класс)
Запуск пакета теста
Когда метод @BeforeAll более сложен, трудно понять, что произошло исключение, пока вы случайно не запустите весь тестовый пакет.
В JUnit 4 с методом @Before IntelliJ показывал сбой теста с трассировкой стека исключения (что упрощает отладку).
Мои pom.xml зависят только от spring-boot-starter и spring-boot-starter-test.
Является ли это ошибкой/Есть ли какое-либо решение для воспроизведения старого поведения?
Куча:
- Весенняя загрузка 2.6.6/JUnit 5
- IntelliJ IDEA 2022.1 Сборка № IU-221.5080.210
- OpenJDK_x64Temurin_11.0.14.1_1/Maven-3.8.4
Редактировать
Как указано в комментарии, для воспроизведения @Before
JUnit4 вы должны использовать @BeforeEach
Junit 5. В этом случае IntelliJ будет вести себя как раньше и отображать исключения даже при запуске только данного тестового класса.
Для @BeforeAll
, вопрос все еще находится на рассмотрении.
Редактировать 2
Открыта ошибка для @BeforeAll
исключений: https://youtrack.jetbrains.com/issue/IDEA-292662
Решение проблемы
Ошибка устранена в предварительной версии IntelliJ 2022.1.1.
Смотрите YouTrack: IDEA-292662
Комментариев нет:
Отправить комментарий