Intellij idea 在IntelliJ IDEA中运行测试时发生java.lang.NoSuchMethodError
当我尝试执行单元测试时,AssertJ上出现NoSuchMethodError。make步骤工作正常,当导航到assertThat()的实现时,它工作正常 模块依赖项显示我正在使用org.assertj:assertj代码:1.2.0,正如我在build.gradle中定义的编译依赖项(是的,编译而不是测试)。单元测试驻留在模块的主类路径中,因为它是一个集成测试,所以这是有意的。iml文件包含: 我的示例测试是:Intellij idea 在IntelliJ IDEA中运行测试时发生java.lang.NoSuchMethodError,intellij-idea,gradle,junit,classpath,assertj,Intellij Idea,Gradle,Junit,Classpath,Assertj,当我尝试执行单元测试时,AssertJ上出现NoSuchMethodError。make步骤工作正常,当导航到assertThat()的实现时,它工作正常 模块依赖项显示我正在使用org.assertj:assertj代码:1.2.0,正如我在build.gradle中定义的编译依赖项(是的,编译而不是测试)。单元测试驻留在模块的主类路径中,因为它是一个集成测试,所以这是有意的。iml文件包含: 我的示例测试是: import org.assertj.core.api.Assertions;
import org.assertj.core.api.Assertions;
import org.junit.Test;
public class X {
@Test
public void x(){
Assertions.assertThat(1).isEqualTo(1);
}
}
当我执行它时,我得到:
java.lang.NoSuchMethodError:
org.assertj.core.api.Assertions.assertThat(I)Lorg/assertj/core/api/IntegerAssert
当我查看运行配置时,类路径被设置为正确的模块(包含AssertJ的模块)
我尝试过使缓存无效,但没有帮助
我目前没有想法(没有双关语)。
有谁见过这个吗?或者有关于如何进行故障排除的线索吗?找到了
我让另一个模块导入更新版本的AssertJ。不知何故(看起来像是IntelliJ中的一个bug),我的运行时使用了这个
我将跟踪我报告的bug:并发布更新