Ich bekomme einen NoSuchMethodError auf AssertJ, wenn ich versuche, einen Komponententest auszuführen. Der make-Schritt funktioniert einwandfrei und wenn Sie zur Implementierung von assertThat() navigieren, funktioniert das problemlos.java.lang.NoSuchMethodError beim Ausführen eines Tests in IntelliJ IDEA
Die Modulabhängigkeiten zeigen, dass ich org.assertj: assertj-code: 1.2.0 verwende, wie ich in meinem build.gradle als Kompilierabhängigkeit definiert habe (ja, kompiliere und nicht test). Der Komponententest befindet sich im Hauptklassenpfad meines Moduls, da es sich um einen Integrationstest handelt. Dies ist also beabsichtigt. Die IML-Datei enthält:
<orderEntry type="library" name="Gradle: org.assertj:assertj-core:1.2.0" level="project" />
Mein Beispiel Test:
import org.assertj.core.api.Assertions;
import org.junit.Test;
public class X {
@Test
public void x(){
Assertions.assertThat(1).isEqualTo(1);
}
}
und wenn ich es ausführen, erhalte ich:
java.lang.NoSuchMethodError: org.assertj.core.api.Assertions.assertThat(I)Lorg/assertj/core/api/IntegerAssert;
Wenn ich mich in den Lauf-Konfigurationen, die Classpath ist auf das richtige Modul eingestellt (das Modul enthält AssertJ).
Ich habe versucht, Caches ungültig zu machen, aber das hat nicht geholfen.
Ich bin derzeit aus Ideen (kein Wortspiel beabsichtigt). Wer hat das schon mal gesehen? Oder haben Sie eine Anleitung zur Fehlerbehebung?