AndroidStudio单元测试——instrumentation

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/harvic880925/article/details/38060361

前言:这几天老大要我搞代码自动测试,eclispe的已经解决了,可他们都是用android studio,所以要在android studio 上重新试验,这个有难度啊,android studio国内资料极少,更不要说单元测试了。google了一两天才最终解决了这个问题,写个Demo分享给大家。


一、写在前面

1、我的android studio版本


2、注意事项

当你google的时候,你会发现铺天盖地的资料让你设置build.gradle,以寻求android studio对测试的支持,其实这些是完全没必要的!!!!android studio默认对测试是支持的,所以不用在build.gradle中添加任何的设置语句。


二、代码

1、新建test文件夹

在要测试工程目录的兄弟目录,新建一个test文件夹,如图:


2、测试代码

我在这个test文件夹中添加了一个类EexampleTest,该类派生自InstrumentationTestCase,并写了一个方法,完整代码如下:

public class ExampleTest extends InstrumentationTestCase {

        public void test() throws Exception {
            final int expected = 1;
            final int reality = 1;
            assertEquals(expected, reality);
        }
}
注意:在android studio中,所有的测试代码必须以test-作为前缀,不然android studio无法识别它为测试代码。

三、测试

在android studio一排按钮的最上层,点击“运行”旁边的配置按钮


打开配置对话框,选择Android Test


右侧Module选择你的工程名,这里是app

Test: 部分选择All in Package

Package:选择当前新建的test文件夹


整体配置好之后是这样的


运行出结果:

测试通过的结果是这样子的:


如果我们把test()的代码改成这样子:

        public void test() throws Exception {
            final int expected = 1;
            final int reality = 3;
            assertEquals(expected, reality);
        }
明显1不等于3,所以assertEquals肯定会出错!
所以出错的结果是这样子的:(在中间窗口logcat中可以定位到出错位置)



OK,That's all……


参考文章:《Unit Test With Android Studio》:http://rexstjohn.com/unit-testing-with-android-studio/  (访问可能要翻墙)


源码地址:http://download.csdn.net/detail/harvic880925/7667341


请大家尊重原创者版权,转载请标明出处:http://blog.csdn.net/harvic880925/article/details/38060361  万分感激!



没有更多推荐了,返回首页