Android Juint单元测试

看到Juint,很多朋友都会很熟悉,没错,这个就是单元测试,JAVA里面也有这东西,今天讲的这个是Android平台上的单元测试。

首先创建一个工程后,创建一个测试类:Test.java


要记得继承AndroidTestCase,按Finish完成,以下是主程序:

Test.java

package com.example.junit;

import junit.framework.Assert;
import android.test.AndroidTestCase;

public class TestAll extends AndroidTestCase {

	public void add(){
		int a = 1;
		int b = 3;
		int c = a + b;
		Assert.assertEquals(4, c);
	}
}

用过java的单元测试的朋友,看到这写法一定很熟悉了,他和java的写法是完全一致的,Assert翻译为断言,至于那些啥专业的解释大伙就自己看看那些文档吧,我简单说下它的用法,就是你可以给你的程序结果有一个预测值,如果与程序算出的结果相比较,一致,juint会显示绿色,反之,则显示红色,assertEquals适合不同参数的传入,int,string,boolean等等都有。

运行下程序:选中要测试的方法,Run as ->Android JUnit Test 运行以上程序,这时候你会发现他报错了:

[2013-04-30 20:11:04 - Junit] Junit does not specify a android.test.InstrumentationTestRunner instrumentation or does not declare uses-library android.test.runner in its AndroidManifest.xml。

这是什么意思呢?

它的意思是说你,运行单元测试时,你需要AndroidManifest.xml下注册和引用包。


AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.junit"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />
	<instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.example.junit"></instrumentation>
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <uses-library android:name="android.test.runner"/>
        <activity
            android:name="com.example.junit.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

</manifest>

其中添加的就是下面两项:

<instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.example.junit"/></instrumentation>

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

需要特别注意的是,instrumentation 下的android:targetPackage所指定的包要与manifest的package所指定的包相一致,完成上述配置后,再次运行程序:


因为我们预测的值为4,而程序算出的值也为4,相一致,所以显示为绿色,这时,我们可以把预测的值改为5,则结果显示如下:


从上面的错误结果,你的提示是,你的预算结果是5,而真实的计算结果是4。

所以使用Juint常常被使用来做程序的逻辑测试,直观而且运行速度比你直接运行一个APP要快得多,单元测试是程序员的必修课。


























评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值