junit5 - 如何消除断言抛出的编译时错误(尽管使用导入)? (Java、Eclipse 氧气)

标签 junit5 eclipse-oxygen junit-jupiter

我正在测试我发现的以下代码片段 here .

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");
}

但是,代码无法编译。

我收到以下错误:

The method assertThrows(Class, Executable, String) in the type Assertions is not applicable for the arguments (Class, Executable, String) DbHandlerTest.java line 96 Java Problem

当然,我的目标不仅仅是测试上面的代码片段,而是为我的代码编写一个测试。请帮忙。

最佳答案

我发现问题了... 谢谢somuras对于正确的问题。 以下导入错误

import org.junit.jupiter.api.Executable;

应该是这样的:

import org.junit.jupiter.api.function.Executable;

关于junit5 - 如何消除断言抛出的编译时错误(尽管使用导入)? (Java、Eclipse 氧气),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48517840/

相关文章:

java - 使用mockito无需依赖注入(inject)

java - 如何将 Serenity 与 Junit5 结合使用?

java - Gradle&Junit5 基于标签的 Gradle 任务在使用 & 表达式时不起作用

java - JUnit 5是否支持按字母顺序或其他类似功能执行测试方法?

java - Junit 5 @MockBean 中的 NullPointerException

java - 单元测试 Spring-WS SOAP 端点在 MockFilterChain 中失败返回 404

java - 计算机突然重启后 Eclipse 4.7.2 不显示项目

java - Eclipse STS 与 Java 9 的源兼容性问题

Eclipse Oxygen - 项目消失