我正在尝试对使用数组映射的方法进行单元测试,但不断收到以下异常:
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
}
这样就可以避免异常,但地图始终为空。如何解决此问题?
为我工作,确保它在build.gradle的正确部分
android {
...
testOptions {
unitTests.returnDefaultValues = true
}
}
正如@ShadowFlame上述评论中所述 我使用数组映射支持"androidx.collection.ArrayMap"而不是"android.util.ArrayMap" 它工作正常。
你可以试试,因为它是使用键值/对的 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());