android 如何进行单元测试

eclipes中的单元测试

方法一  

 1.定义一个类继承AndroidTestCase

(1)创建一个Android项目,在项目里添加一个java文件

package com.example.test;

public class Calc {
	/**
	 * 定义两个数相加相的方法
	 */
	public int add(int x,int y){
		return x+y;
	}

}
(2)再添加一个java文件继承AndroidTestCase

package com.example.test;

import android.test.AndroidTestCase;

public class Test extends AndroidTestCase {
	//写一个测试加法的方法
	public void testAdd(){
		//创建一个Calc对象
		Calc calc=new Calc();
		//接收add返回的结果
		int result=calc.add(6,4);
		//调用assertEqual方法进行断言
       assertEquals(10, result);//前面一个参数为期望值,后面一个参数为真实值
	}

}


    2.在 AndroidMenifest.xml文件配置user-library和instrumentaion

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

    <uses-sdk
        android:minSdkVersion="15"
        android:targetSdkVersion="19" />

    <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.test.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>
    <!-- 配置instrumentation targetPackage写当前所在的包名 -->
    <instrumentation android:name="android.test.InstrumentationTestRunner"
        android:targetPackage="com.example.test"/>

</manifest>

进行测试:
<img src="https://img-blog.csdn.net/20160319131815971?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />



  方法二

直接创建一个测试工程,在测试工程中会直接配置好清单文件


在File->new->other->android->android->android Test Project下创建即可。

android studio中的单元测试

android studio在生成项目的时候已经生成好了一个专门放单元测试类的包,一般会标识androidTes,在该包下创建一个单元测试类继承AndroidTestCase


public class TestAdd  extends AndroidTestCase{
    public void  testAdd(){//注意测试方法一定要以test开头
        int x=3;
        int y=5;
        assertEquals(x+y,5);
    }
}
然后在testAdd上右键选择create 'testAdd()',之后就可以直接运行了,在android studio中不必配置Manifest.xml

运行后可以看到测试失败,并有这样一条log:

junit.framework.AssertionFailedError: expected:<8> but was:<5>

将assertEquals(x+y,5)改成assertEquals(x+y,8)重新测试就能成功了。


  

发布了38 篇原创文章 · 获赞 6 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/coderlady/article/details/50929945