Как избавиться от ошибки времени компиляции (несмотря на использование импорта) для assertThrows? (Java, Eclipse Oxygen)
Я тестирую следующий фрагмент кода, который нашел здесь.
Версия Eclipse Oxygen: версия Oxygen.2 (4.7.2) - если это имеет значение
import org.junit.jupiter.api.Assertions;
....
@Test
void exceptionTesting() {
Executable closureContainingCodeToTest = () -> {throw new IllegalArgumentException("a message");};
Assertions.assertThrows(IllegalArgumentException.class, closureContainingCodeToTest, "a message");
}
Однако код не компилируется.
Я получаю ошибку ниже:
Метод assertThrows(Class, Executable, String) в типе Assertions не применим для аргументов (Class, Executable, String) DbHandlerTest.java line 96 Проблема с Java
Конечно, моя цель - не просто протестировать приведенный выше фрагмент кода, а написать тест для моего кода. Пожалуйста помоги.
1 ответ
Решение
Я разобрался с проблемой... Спасибо Sormuras за правильный вопрос. Следующий импорт был неверным
import org.junit.jupiter.api.Executable;
Должно было быть так:
import org.junit.jupiter.api.function.Executable;