【发布时间】:2016-05-27 11:03:30
【问题描述】:
当我尝试执行单元测试时,我在 AssertJ 上收到 NoSuchMethodError。 make 步骤工作正常,当导航到 assertThat() 的实现时,它工作得很好。
模块依赖项显示我正在使用 org.assertj:assertj-code:1.2.0,因为我在 build.gradle 中定义为编译依赖项(是的,编译而不是测试)。单元测试位于我模块的主类路径中,因为它是一个集成测试,所以这是有意的。 iml 文件包含:
我的示例测试是:
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 的模块)。
我尝试过使缓存无效,但没有帮助。
我目前没有想法(没有双关语)。 有谁以前见过这个吗?或者知道如何进行故障排除?
【问题讨论】:
标签: intellij-idea gradle junit classpath assertj