在android中使用单元测试框架

本文详细介绍了在Android环境下进行单元测试的方法,包括创建测试工程、配置测试环境、运行测试方法及断言验证等步骤,旨在帮助开发者有效测试其应用功能。

单元测试简介:单元测试简单来说就是测试某个app的功能时,不需要启动app

Android中单元测试的实现方式:

1、创建一个android工程,然后创建一个继承自单元测试内的junitTest类,junitTest中的代码如下

package com.fyt.junitdemo;

import android.test.AndroidTestCase;
import android.util.Log;

public class junitTest extends AndroidTestCase {

    public void test() {

        Log.d("MainActivity", "测试框架跑起来了");
    }
}

2、在配置文件中添加下面的指令集

  <instrumentation
        android:name="android.test.InstrumentationTestRunner"
        android:targetPackage="com.fyt.junitdemo">
    </instrumentation>
指令集中的属性介绍:

android:targetPackage="com.fyt.junitdemo":设置待测试的apk的目标包名


3、在Application节点下添加导入的类库

  <uses-library android:name="android.test.runner"/>


完整版的配置文件如下:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.fyt.junitdemo">

    <!--第二个属性表示目标包名-->
    <instrumentation
        android:name="android.test.InstrumentationTestRunner"
        android:targetPackage="com.fyt.junitdemo">
    </instrumentation>

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <uses-library android:name="android.test.runner"/>
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

4、运行测试方法,选中test()方法




选择Run test()执行test()方法



显示下图所示的绿色的进度条表示执行成功


查看log信息,可以看到在logcat中输出了一条在代码中设置的log信息



使用断言判断实际值与期望值,是否一致,当实际值与期望值不一致时会报错

package com.fyt.junitdemo;

import android.test.AndroidTestCase;

public class junitTest extends AndroidTestCase {

    public void test() {

        int result = add(3, 5);

        //断言,用来检测实际值与期望值是否一致
        assertEquals(8, result);
    }

    public static int add(int a, int b) {

        return  a - b;
    }
}

上面的代码中实际值与期望值不一致所以报错,并且在输出框中输出了错误信息



当除数为0时,会报错

package com.fyt.junitdemo;

import android.test.AndroidTestCase;
import android.util.Log;

public class junitTest extends AndroidTestCase {

    public void test() {

        chuyi(2, 0);
    }

    public static void chuyi(int i, int j) {

        int result = i / j;
    }
}

错误提示如下


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值