【Android进阶】Junit单元測试环境搭建以及简单有用

单元測试的目的

首先。Junit单元測试要实现的功能,就是用来測试写好的方法是否可以正确的运行,一般多用于对业务方法的測试。

单元測试的环境配置

1.在AndroidManifest清单文件的Application节点下。引入单元測试使用的库

2.在AndroidManifest清单文件与Application节点平行的节点中。加入instrumentation节点

以下是一个完整的配置的代码

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.junittest"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />

    <application
        android:icon="@drawable/ic_launcher"
        android:theme="@style/AppTheme" >

        <!-- 引入单元測试的库 -->
        <uses-library android:name="android.test.runner" />
    </application>

    <!-- 配置包名 -->
    <instrumentation
        android:name="android.test.InstrumentationTestRunner"
        android:targetPackage="com.example.junittest" >
    </instrumentation>

</manifest>

上面代码的说明:

须要改动的地方仅仅有以下的代码

android:targetPackage

指的的要測试的项目的包名,事实上就是当前项目的包名就可以

单元測试的定义

单元測试的环境搭配至此就结束了。以下介绍怎样使用单元測试对代码中的方法进行測试

我们如果对以下的代码中的getNum方法进行測试

public class Demo {

	// 要測试的方法,我们设置返回值为10
	public int getNum() {
		return 10;
	}

}

首先创建一个类。继承自AndroidTestCase,代码例如以下

import android.test.AndroidTestCase;

/**
 * 单元測试类
 *
 * @author zhaokaiqiang
 *
 */
public class Test extends AndroidTestCase {

	// 用此方法对须要測试的方法进行測试,一定要抛出Exception,这样假设出现异常。Junit測试框架才干作出反应
	public void t() throws Exception {
		int i = new Demo().getNum();
		// 这是assert断言的使用,事实上就是我们觉得返回结果应该为9。可是返回的事实上是10,所以这句话肯定会抛异常
		assertEquals(9, i);
	}

}

上面代码凝视都非常清楚。我就不再解释了。

单元測试的执行

单元測试的代码定义好了。那么我们怎么执行呢?

我们在OutLine界面下,右击方法。选择以下的Run As -->Android Junit Test ,就能够把单元測试执行在我们的測试机上了,由于点出之后的菜单不能截图,就不上图了

执行之后,我们就能够在JUnit的界面下,看到我们执行的结果了

至此,我们就完毕了简单的单元測试。

时间: 2024-10-21 15:56:42

【Android进阶】Junit单元測试环境搭建以及简单有用的相关文章

Android 进行单元測试难在哪-part3

原文链接 : HOW TO MAKE OUR ANDROID APPS UNIT TESTABLE (PT. 1) 原文作者 : Matthew Dupree 译文出自 : 开发技术前线 www.devtf.cn 译者 : chaossss 校对者: tiiime 状态 : 完毕 在 Android 应用中进行单元測试非常困难.有时候甚至是不可能的.在之前的两篇博文中,我已经向大家解释了在 Android 中进行单元測试如此困难的原因.而上一篇博文我们通过分析得到的结论是:正是 Google 官

【Android进阶】Junit单元测试环境搭建以及简单实用

单元测试的目的 首先,Junit单元测试要实现的功能,就是用来测试写好的方法是否能够正确的执行,一般多用于对业务方法的测试. 单元测试的环境配置 1.在AndroidManifest清单文件的Application节点下,引入单元测试使用的库 2.在AndroidManifest清单文件与Application节点平行的节点中,添加instrumentation节点 下面是一个完整的配置的代码 <manifest xmlns:android="http://schemas.android.

利用Continuous Testing实现Eclipse环境自己主动单元測试

当你Eclipse环境中改动项目中的某个方法时,你可能因为各种原因没有执行单元測试,结果代码提交,悲剧就可能随之而来. 所幸infinitest(http://infinitest.github.io/)提供了一个Continuous Testing插件,以及时自己主动执行单元測试.尽管会多占一些CPU资源,但开发者的硬件谁会不留一点余地呢?大不了,音乐.视频.360卸载就OK了.安装方法有两种: (1)使用"Install new software",输入地址:http://infi

太白---落燕纷飞第一重 Android单元測试Instrumentation和irobotium

PS:叫太白---落燕纷飞纯粹好玩(天涯明月游戏画面感,打击感,碰撞尽管做的不尽人意,可是太白这个职业还是不错,用作开头,,做个旁白而已). 这里的单元測试不管是instrumentation还是irobotium都不适用于游戏,游戏的自己主动化能够參考公司内wetest的基于引擎的对象识别自己主动化解决方式 or 前面用sikuli的方案.这里仅适用于传统行业Application范畴. 但基本思想类似,都是找到相应的对象,运行相应的方法,而这里的被測目标是详细的class里面的某个funct

Android自己主动化測试之Monkeyrunner用法及实例

眼下android SDK里自带的现成的測试工具有monkey 和 monkeyrunner两个.大家别看这俩兄弟名字相像,但事实上是完全然全不同的两个工具,应用在不同的測试领域.总的来说,monkey主要应用在压力和可靠性測试上,执行该命令能够随机地向目标程序发送各种模拟键盘事件流,而且能够自定义发送的次数,以此观察被測应用程序的稳定性和可靠性,应用起来也比較简单,记住那几个命令即可了.而monkeyrunner呢,相比之下会强大一些,它主要可应用于功能測试,回归測试,而且能够自定义測试扩展,

Android自己主动化測试解决方式

如今,已经有大量的Android自己主动化測试架构或工具可供我们使用,当中包含:Activity Instrumentation, MonkeyRunner, Robotium, 以及Robolectric.另外LessPainful也提供服务来进行真实设备上的自己主动化測试. Android自身提供了对instrumentation測试的基本支持,当中之中的一个就是位于android.test包内的ActivityInstrumentationTestCase2类,它扩展了JUnit的Test

C语言单元測试

对于敏捷开发来说,单元測试不可缺少,对于Java开发来说,JUnit非常好,对于C++开发,也有CPPUnit可供使用,而对于传统的C语言开发,就没有非常好的工具可供使用,能够找到的有这么几个工具: CuTest -- CuTest(Cute Test)是一个很easy的C语言单元測试工具.在使用它的时候,仅仅须要包括两个文件“CuTest.c CuTest.h”,然后就能够写測试用例,进行測试了.它对用例差点儿没有管理功能,报表输出也很easy,能够用来试验单元測试的基本想法. CUnit -

玩转单元測试之WireMock -- Web服务模拟器

WireMock 是一个灵活的库用于 Web 服务測试,和其它測试工具不同的是.WireMock 创建一个实际的 HTTPserver来执行你的 Web 服务以方便測试. 它支持 HTTP 响应存根.请求验证.代理/拦截.记录和回放. 而且能够在单元測试下使用或者部署到測试环境. 它能够用在哪些场景下: 測试移动应用依赖于第三方REST APIs 创建高速原型的APIs 注入否则难于模拟第三方服务中的错误 不论什么单元測试的代码依赖于web服务的 文件夹 前提条件 Maven配置 准备工作 Ex

在Eclipse中使用JUnit4进行单元測试(0基础篇)

本文绝大部分内容引自这篇文章: http://www.devx.com/Java/Article/31983/0/page/1 我们在编写大型程序的时候,须要写成千上万个方法或函数,这些函数的功能可能非常强大,但我们在程序中仅仅用到该函数的一小部分功能,而且经过调试能够确定,这一小部分功能是正确的.可是,我们同一时候应该确保每个函数都全然正确,由于假设我们今后假设对程序进行扩展,用到了某个函数的其它功能,而这个功能有bug的话,那绝对是一件非常郁闷的事情.所以说,每编写完一个函数之后,都应该对这