MockK 的"every" "returns null"不返回"null"而是返回具有空值和假值的 NetworkInfo 对象



在我的单元测试中,我调用以下内容:

every { connectivityManager.activeNetworkInfo } returns null

但当我调试时,我得到一个NetworkInfo对象,其中填充了null和false值

networkInfo = {NetworkInfo@9780}"[type: null[null], state: null/null, reason: unspecified), extra: (none), failover: false, available: false, roaming: false]"

因此,在我的实现中的这种空检查不会产生错误;false";路径

val networkInfo = connectivityManager?.activeNetworkInfo
if (networkInfo != null) { ... }

我之所以调用这个不推荐使用的getActiveNetworkInfo((方法,是因为我需要支持Android 8.0 8.1和9。

我错过了什么?

好的,我发现了问题,上面的代码有效,我的问题是我没有正确地传递我的模拟对象,所以模拟代码从未执行过。

相关内容

  • 没有找到相关文章

最新更新