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.”问题的解决。