Android coreLibraryDesugaring 不适用于单元测试

时间:2021-06-30 14:59:49

标签: android android-studio kotlin java-8

为了使用 Java 8 功能,我在应用的 build.gradle 文件中添加了 coreLibraryDesugaringEnabled truecoreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5'
但是在运行单元测试时,会抛出空指针异常。 我正在尝试使用 putIfAbsent
在测试中使用它时也会抛出 NPE。
产生错误的简单代码。

@Test
fun testNPE(){
   val map = mutableMapOf<String, Int>()
   val mutableList = map.putIfAbsent("1", 1)!!
}

当我用 kotlin 的扩展函数 putIfAbsent 替换 getOrPut 时测试通过,这是有道理的。
应用的默认配置

minSdkVersion 22
targetSdkVersion 30

我不知道我在这里做错了什么。

0 个答案:

没有答案