【Android-UnitTest】Android单元测试问题汇总

1. 基本使用

位置:

资源管理器Android视图:选择module(如:app)----java----包名(如:com.example.abc)----ExampleUnitTest.java
资源管理器Project视图:项目名称----选择module----src----test----包名----ExampleUnitTest.java

注解:

在该类中创建公共方法,加上@Test注解即可

public class ExampleUnitTest {
    @Test
    public void addition_isCorrect() {
        assertEquals(4, 2 + 2);
    }
}

 

2. 外部类库引用出错

报错:

java.lang.RuntimeException: Method d in android.util.Log not mocked. See http://g.co/androidstudio/not-mocked for details.
    at android.util.Log.d(Log.java)
    at ble.ztj.pro.controlble.ExampleUnitTest.addition_isCorrect(ExampleUnitTest.java:23)

 解决方案:

在相应Module的build.gradle文件android{}闭包中加入单元测试属性:

testOptions {
    unitTests.returnDefaultValues = true
}

原因:

由于单元测试主要测试代码而非依赖,用于运行单元测试的android.jar不包含任何实际的代码

参考: 

https://blog.csdn.net/qq_38910403/article/details/102639487 | 关于Android Studio单元测试中“Method d in android.util.Log not mocked.”问题的解决。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值