2016-01-15 61 views
0

當AndroidStudio(1.4)運行單元測試,我的下面的測試失敗,因爲每標題即java.lang.NoSuchMethodError: org.assertj.core.api.Assertions.assertThat(Ljava/util/Map;)Lorg/assertj/core/api/MapAssert;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 Preview 5,我的測試大量失敗,所以我決定留在舊版Android Studio中)。

試圖尋找幫助,發現此鏈接https://github.com/joel-costigliola/assertj-core/issues/395。顯然他也面臨着IDE上的相同問題。任何線索是什麼原因?

回答

0

我會仔細檢查類路徑。 使用assertj核心1.7.1 - 這是一個取決於Java 6的版本,我確信它與Android兼容。

希望它有幫助