在我的单元测试中,我调用以下内容:
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。
我错过了什么?
好的,我发现了问题,上面的代码有效,我的问题是我没有正确地传递我的模拟对象,所以模拟代码从未执行过。