GOOGLE ADS

пятница, 29 апреля 2022 г.

IntelIj не отображает исключения из @BeforeAll JUnit5

В 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 (только этот класс)

запустить из IntelliJ, только один класс

Запуск пакета теста

запустить из 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


Редактировать

Как указано в комментарии, для воспроизведения @BeforeJUnit4 вы должны использовать @BeforeEachJunit 5. В этом случае IntelliJ будет вести себя как раньше и отображать исключения даже при запуске только данного тестового класса.

Для @BeforeAll, вопрос все еще находится на рассмотрении.

Редактировать 2

Открыта ошибка для @BeforeAllисключений: https://youtrack.jetbrains.com/issue/IDEA-292662


Решение проблемы

Ошибка устранена в предварительной версии IntelliJ 2022.1.1.

Смотрите YouTrack: IDEA-292662

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...