我正在尝试对使用数组映射的方法进行单元测试,并且我一直得到以下异常:
java.lang.RuntimeException: Method put in android.util.ArrayMap not mocked. See http://g.co/androidstudio/not-mocked for details.
代码:
ArrayMap<String, String> sampleMap =new ArrayMap<>();
for (SampleInfo info : details.getSampleList())
{
sampleMap.put(info.getkey(),info.getName());
}
我试过了:
testOptions {
unitTests.returnDefaultValues = true
}
这样可以避免异常,但地图始终为空。如何解决这个问题?
答案 0 :(得分:1)
为我工作,确保它在build.gradle的正确部分
android {
...
testOptions {
unitTests.returnDefaultValues = true
}
}
答案 1 :(得分:0)
正如@ShadowFlame在上述评论中所述 我使用了数组映射支持“ androidx.collection.ArrayMap”,而不是“ android.util.ArrayMap” 而且效果很好。
答案 2 :(得分:-1)
你可以尝试,因为它是使用键值/对
的ArrayMap ArrayList<ArrayMap<String, String>> listArray2 = new ArrayList<>();
for (SampleInfo info1 : details.getSampleList())
{
sampleMap.put("keyname",info1.getName());
listArray2.add(sampleMap);
}
Log.e("****sadflkj **",listArray2.toString());