如何模拟 Android.util.Log

4

我正在使用Kotlin中的mockk库,在测试中,我遇到了以下异常:

java.lang.RuntimeException: Method getStackTraceString in android.util.Log not mocked. See http://g.co/androidstudio/not-mocked for details.

我找不到解决办法。

1个回答

16

你需要添加

testOptions { 
  unitTests.returnDefaultValues = true
}

在你的build.gradle文件的android部分中,加入以下内容。它将模拟对Android平台的部分调用。请注意它只会返回默认值。

在新的gradle插件中,此属性已更名为isReturnDefaultValues


4
请注意,正如此答案中的评论所指出的那样,这并不是模拟对Android平台的某些调用,而只是返回默认值,这可能会导致问题,因为“空/零返回值可能会在您的测试中引入回归”。 - Samuel T. Chou
1
unitTests变量名已更改为 isReturnDefaultValues:https://developer.android.com/reference/tools/gradle-api/4.1/com/android/build/api/dsl/UnitTestOptions#isreturndefaultvalues - robotsquidward

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接