[android] android下junit测试框架配置

我们的业务代码一般是放在一个新的包下面,这个业务类不能够通过右键run as java application,因为android项目只能运行在手机上的dalvak虚拟机里面

新建一个包,里面写测试类,测试类需要继承AndroidTestCase类,写测试方法,需要throws exception抛出异常给测试框架,测试方法里面一般new出需测试的类,调用它的方法,然后断言结果,assertEquals(预估, 实际结果)

在outline视窗 (window=>show view=>outline)里面选中该方法右键run as android junit test

此时会报错

[2016-02-27 21:29:54 - 单元测试] 单元测试 does not specify a android.test.InstrumentationTestRunner instrumentation or does not declare uses-library android.test.runner in its AndroidManifest.xml

需要在清单文件里面配置instrumentation指令集

<!-- 指令集在manifest节点下 -->

<!-- 测试用例,名称是固定的,目标包名 -->

<instrumentation

android:name="android.test.InstrumentationTestRunner"

android:targetPackage="com.tsh.junit" >

</instrumentation>

<!-- 使用的函数库,在application节点下 -->

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

Xml里面写注释 ctrl+shift+/,

Junit里面打印出绿条,说明没有错误,如果有错误打印红色的条,错误追逐里面有错误信息,如断言错误等,如果清单文件里面的信息记不住,那么请这样操作,new => project =>android android test project => select test target 完成以后会有个项目里面有清单文件

java代码:

package com.tsh.junit.test;

import com.tsh.junit.service.CalcService;

import android.test.AndroidTestCase;

public class CalServiceTest extends AndroidTestCase {
    public void testAdd() throws Exception{
        CalcService service=new CalcService();
        int res=service.add(3, 5);
        assertEquals(8, res);
    }
}

清单文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.tsh.junit"
    android:versionCode="1"
    android:versionName="1.0" >
    <!-- 指令集在manifest节点下 -->
    <!-- 测试用例,名称是固定的,目标包名 -->
    <instrumentation
        android:name="android.test.InstrumentationTestRunner"
        android:targetPackage="com.tsh.junit" >
    </instrumentation>

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

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <!-- 使用的函数库,在application节点下 -->
        <uses-library android:name="android.test.runner"/>
        <activity
            android:name=".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>
时间: 02-27

[android] android下junit测试框架配置的相关文章

无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)

1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.example.demo1" /> 上面targetPackage指定的包要和应用的package相同. (2)在清单文件中ap

Android中的Junit测试

在开发中Junit测试可以很方便的帮助开者尽可能早的发现并处理问题,而且使用也非常简单,只需要导入Junit测试相关的jar包并创建测试类,就可以对业务功能进行测试,而不用为了测试在代码中添加输出语句把代码搞得面目全非.需要注意的是,编写的测试方法只能是public void并且无参,在测试方法中就可以为所欲为了. @Test public void testAdd(){ Demo d = new Demo(); System.out.println(d.add(1,2,3)); } 在Andr

Android Junit测试框架的配置

instrumentation指令集需要在manifest节点下 <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.example.junittest" /> uses-library 需要在application节点下 <uses-library android:name="android.t

Android Junit测试框架

对应用进行单元测试: 使用Junit测试框架,是正规Android开发的必用技术.在Junit中可以得到组件,可以模拟发送事件和检测程序处理的正确性. 1.配置指令集和函数库: (1)配置指令集,指定要测试的应用程序 需要在AndroidManifest.xml的instrumentation中增加InstrumentationTestRunner,并指定要测试的包名. AndroidManifest.xml中会添加代码: <instrumentation android:targetPacka

Android studio下gradle Robolectric单元测试配置

android studio下gradle Robolectric单元测试配置 1.Robolectric Robolectric是一个基于junit之上的单元测试框架.它并不依赖于Android提供的测试功能,它使用了shadow objects并且运行测试于普通的工作站/服务器JVM,不像模拟器或设备需要dexing(Android dex编译器将类文件编译成Android设备上的Dalvik VM使用的格式),打包,部署和运行的过程,大大减少了测试执行的时间. 参考:安卓单元测试相关概述h

Android平台下渗透测试工具大集合

Android平台下渗透测试工具大集合 分享一个google的项目,各种Android下的渗透测试工具. Ad Network Detector (1.2): http://market.android.com/details?id=com.lookout.addetector App Backup & Restore (1.0.5): http://market.android.com/details?id=mobi.infolife.appbackup App Cache Cleaner (

Spring框架下Junit测试

Spring框架下Junit测试 一.设置 1.1 目录 设置源码目录和测试目录,这样在设置产生测试方法时,会统一放到一个目录,如果没有设置测试目录,则不会产生测试代码. 1.2 增加配置文件 Resources目录下创建配置文件. 1.3 引入包和配置文件 import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframewo

Android Studio 下项目的依赖配置

Android Studio 下项目的依赖配置 背景 项目需要用到一个github上的开源库swipelistview,原来在eclipse环境下配置过相关的依赖(导入jar包或者是lib依赖),但是在Android Studio下还是没有操作过.上网查了一下相关的资料,在stackoverflow上找到了答案.根据上面的介绍,结合实际情况,完成了依赖配置. stackoverflow答案地址 有两种方式来进行依赖配置. 1. 使用aar包(这个不太清楚原理和效果,简单查了一下和maven相关,

Java Junit测试框架

Java    Junit测试框架 1.相关概念 ? JUnit:是一个开发源代码的Java测试框架,用于编写和运行可重复的测试.它是用于单元测试框架体系xUnit的一个实例(用于java语言).主要用于白盒测试,回归测试. ? 白盒测试:把测试对象看作一个打开的盒子,程序内部的逻辑结构和其他信息对测试人 员是公开的. ? 回归测试:软件或环境的修复或更正后的再测试,自动测试工具对这类测试尤其有用. ? 单元测试:最小粒度的测试,以测试某个功能或代码块.一般由程序员来做,因为它需要知道内部程序设