场景:测试某个类中的某个方法。
步骤:
1、任意地方右键
2、选择新建一个Test类(已经有的话,直接选择)
3、勾选@Before和要测试的方法,好像只有public方法才会显示出来
4、选择test目录下
5、自动生成的代码
6、在方法中右键,选择run或者debug测试代码
7、下面看得见测试结果
8、要测试的代码
public static boolean isAvailability(String id) {
// if (TextUtils.isEmpty(id)) {
// return false;
// }
String regex = id.substring(0, 1) + "{" + id.length() + "}";
return !id.matches(regex);
}由于junit运行在jvm上,而jdk没有android源码,所以TextUtils这些在android sdk中的类,运行junit时就引用不上了。
出现异常:
java.lang.RuntimeException: Method isEmpty in android.text.TextUtils not mocked. See http://g.co/androidstudio/not-mocked for details.
at android.text.TextUtils.isEmpty(TextUtils.java)
at com.hiten.reuselib.DevicesUtil.isAvailability(DevicesUtil.java:54)
at com.hiten.reuselib.DevicesUtilTest.isAvailability(DevicesUtilTest.java:14)所以测试的时候要屏蔽掉或者自己写替代方法。