背景
之前一直想看一下安卓里的单元测试,如今记录一下学习过程,内容并不多,因为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里的单元测试
文章来源: Android Studio里的单元测试