单元测试 ArrayMap 抛出的方法放在 android.util.ArrayMap 中没有被嘲笑



我正在尝试对使用数组映射的方法进行单元测试,但不断收到以下异常:

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());

相关内容

  • 没有找到相关文章

最新更新