美文网首页
Android Studio 单元测试详解

Android Studio 单元测试详解

作者: 程序员大耳 | 来源:发表于2020-05-14 22:07 被阅读0次

    一、目的

    1.1、减少模拟器运行、真机调试,提高工作效率;

    1.2、减少错误,提前发现问题;

    1.3、做到功能单元全面覆盖;

    二、单元测试

    2.1、什么是单元测试?

    指对软件中的最小可测试单元进行检查和验证。

    简单来说单元测试就是将一个软件功能拆分成N个最小的不可拆分的单元功能点,对单元功能点的测试就是单元测试。

    2.2、单元测试有哪些?

    Android中的测试一般分为:功能测试,接口测试,数据测试等;我们所说的单元测试主要是功能测试,主要用于测试功能性的需求,比如网络请求,数据存储,数据库,api,SharedPerferences,验证时间,转化格式,正则验证等。不能测试UI功能,不能测试需要硬件支持的功能(比如蓝牙,wifi等),不能测试App跳转等等。

    三、单元测试类

    3.1、androidTest测试类

    androidTest测试类适用于需要依赖Android api的单元测试,需要连接Android设备才能进行测试。

    新建的androidTest java类需要添加@RunWith(AndroidJUnit4.class)注解,类的方法如果是测试入口方法需要添加@Test注解。

    public class MainActivityTest {

        private Context mTargetContext;

        @Before

        public void setUp() throws Exception {

            mTargetContext = InstrumentationRegistry.getTargetContext();

        }

        @Test

        public void onCreate() {

            try {

                ApplicationInfo applicationInfo = mTargetContext.getPackageManager().getApplicationInfo(mTargetContext.getPackageName(), PackageManager.GET_META_DATA);

                Bundle metaData = applicationInfo.metaData;

                String data = metaData.getString("com.xiaoying.TEST");

                assertEquals("1234567890", data);

            } catch (PackageManager.NameNotFoundException e) {

                e.printStackTrace();

            }

        }

    }

    3.2、test测试类

    test测试类适用于纯java的单元测试,运行于当前设备的jvm环境中,无需Android设备即可测试。新建test java类,类的方法如果是测试入口方法需要添加@Test注解。

    public class UtilsTest {

        @Before

        public void setUp() throws Exception {

        }

        @Test

        public void isEmpty() {

            assertEquals(true, Utils.isEmpty(""));

        }

    }

    3.3、测试类中的setUp方法与tearDown()方法

    在测试类中的setUp方法,可以在启动测试前进行一些初始化,比如测试类中的变量等初始化,这个方法需要添加@Before注解。

    在测试类中的tearDown方法,可以在测试后进行一些资源释放,,这个方法需要添加@After注解。

    3.4、关于自动生成测试类和测试方法

    在项目源码中选中需要添加单元测试的类并打开,在内容显示区域“右键”->“Go To”,在弹出窗口中选择“Test”,在弹出窗口中选择“Create New Test ......”

    在接下来弹出的对话框中,勾选需要添加单元测试的方法,在这里有个“Generate”通用方法生成,可以选择setUp/@Before(启动前调用,可用于初始化)和tearDown/@After(结束后调用)

    相关文章

      网友评论

          本文标题:Android Studio 单元测试详解

          本文链接:https://www.haomeiwen.com/subject/fbaxohtx.html