Android Studio里的单元测试

匿名 (未验证) 提交于 2019-12-03 00:37:01

背景

之前一直想看一下安卓里的单元测试,如今记录一下学习过程,内容并不多,因为Android Studio已经给我们做好了大部分工作,gradle导包、清单文件中引入都不用我们管了,直接创建类、创建方法就可以


Java单元测试

在test目录下,随便新建一个类



而后随便定义一个方法,但要用上@Test注解,里面写上我们要测试的东西

public class MyTest {     @Test     public void myTest() {         ArrayList<Integer> arrayList = new ArrayList<>();         arrayList.addAll(Arrays.asList(1,3,2,7,4));         System.out.println(arrayList);     } }

而后点击左边的绿色箭头,因为之前我测试过了,所以绿色箭头变成了绿色重启的标志,点它就是,而后在出来的对话框里,选择run



之后就会在下面,显示输出内容了



Android单元测试

Android单元测试和java单元测试差不多,同样是要新建一个类,但这里是在上面的androidTest目录中,而且新建的类要继承自InstrumentationTestCase,而后要测试的方法不用加上@Test注解,但要以test开头

public class TestClass extends InstrumentationTestCase { // 继承自IntrumentationTestCase     public static final String TAG = "TestClass";      public void testMethod() { // 方法以test打头         List<String> letters = new LinkedList<>();         letters.add("a");         letters.add("b");         letters.add("c");         letters.add("d");         letters.add("e");         letters.add("f");          //parallelStream():并行流         letters.parallelStream().filter(s -> {             Log.i(TAG, "filter:" + s + "--thread name:" + Thread.currentThread().getName());             return true;         }).map(s -> {             Log.i(TAG, "map:" + s + "--thread name:" + Thread.currentThread().getName());             return s.toUpperCase();         }).forEach(s -> {             Log.i(TAG, "forEach:" + s + "--thread name:" + Thread.currentThread().getName());         });         //D A C E B F         //D B C E A F         //D F E A B C         //...随机运行          letters.stream().forEach(s -> {             Log.i(TAG, "forEach:" + s);         });     } }

而后也是点击左边的运行按钮,选择运行设备



看到下面显示test passed,就说明运行成功了,查看结果是在logcat里面查看




结语

不过,我觉得安卓开发还是通过把项目跑起来调试的方式测试直接一些

转载请标明出处:Android Studio里的单元测试
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!