如何摆脱 assertThrows 的编译时错误(尽管使用导入)? (Java,蚀氧)
How to get rid of the compile time error (despite using the import) for 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");
}
但是,代码无法编译。
我收到以下错误:
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;
我正在测试我发现的以下代码片段
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;