java.lang.NoSuchMethodError:org.assertj.core.api.Assertions.assertThat(Ljava / util / Map;)Lorg / assertj / core / api / MapAssert;

时间:2016-01-15 05:27:51

标签: android-studio assertj android-assertj

在AndroidStudio(1.4)上运行unitTest时,我的下面测试按标题失败,即java.lang.NoSuchMethodError: org.assertj.core.api.Assertions.assertThat(Ljava/util/Map;)Lorg/assertj/core/api/MapAssert;

@Test
public void mapTest() {
    Map<String, String> map = new HashMap<>();
    map.put("Key1", "Value1");
    map.put("Key2", "Value2");
    Assertions.assertThat(map).isNotNull();
}

当我使用gradlew命令从命令行运行它时,它通过了。我已将Java指向jdk1.8.0_66.jdk。谁知道为什么?

(p / s:我得到了最新的AndroidStudio 2.0预览版5,我的测试大量失败。所以我决定继续使用旧版Android Studio。)

尝试搜索帮助并找到此链接https://github.com/joel-costigliola/assertj-core/issues/395。显然他在IDE上也面临同样的问题。任何线索是什么原因?

1 个答案:

答案 0 :(得分:0)

我会仔细检查类路径。 使用assertj核心1.7.1 - 它是一个取决于java 6的版本,因为我确信它与Android兼容。

希望有所帮助