原文网址 http://blog.sina.com.cn/s/blog_6091867a0100jsbu.html
Android下使用JUnit Andorid下使用Junit测试框架,是步入正规的Androdid开发的必经之路,在Junit中可以得到组件,可以模拟发送事件,检测程序处理的正确性,下面是一个简单的学习教程:转载来自:http://androidos.cc 工具: 1、Android1.5 SDK 2、ADT 0.9 3、Eclipse 需要的知识: 1、 Android开发的基础 2、Junit的基础 一、首先建立工程: 目录: 选中的test source folder是测试类的包,包名随便,但是在配置Manifest.xml要注意 二、配置/layout/main.xml文件,加入两个button组件,代码如下:
<!--l version="1.0" encoding="utf-8-->
三、被测试的Activity代码 package com.test.junit; import android.app.Activity; import android.os.Bundle; public class TestJ extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public int add(int a, int b) { return a + b; } } 四、测试TestJ代码,这里要继承ActivityInstrumentationTestCase2, ActivityInstrumentationTestCase2是TestCase的子类 package com.test.junit.test; import android.test.ActivityInstrumentationTestCase2; import android.util.Log; import android.view.KeyEvent; import android.widget.Button; import com.test.junit.R; import com.test.junit.TestJ; public class TestJtestCase extends ActivityInstrumentationTestCase2 { int a; int b; int sum; int result; private Button button01; private Button button02; private TestJ testJ; public TestJtestCase() { super("com.test.junit", TestJ.class); } public TestJtestCase(String pkg, Class activityClass) { super(pkg, activityClass); // TODO Auto-generated constructor stub } @Override protected void setUp() throws Exception { // TODO Auto-generated method stub super.setUp(); Log.v("SetUp", "init all var……"); a = 2; b = 22; sum = 24; testJ = getActivity(); button01 = (Button) testJ.findViewById(R.id.Button01); // button01.setEnabled(false); button02 = (Button) testJ.findViewById(R.id.Button02); } @Override protected void tearDown() throws Exception { // TODO Auto-generated method stub super.tearDown(); } public void testButtonFocus(){ Log.v("Button01 Focus at first", "start the button focus......"); assertTrue("Button01 is fucused", button01.isFocusable()); Log.v("Button02 Focus at first", "send the down key event..."); this.sendKeys(KeyEvent.KEYCODE_DPAD_DOWN); assertTrue("Button02 is fucused", button02.isFocusable()); } public void testAdd() { Log.v("testAdd","Test the add method in activity"); result = testJ.add(a, b); assertEquals(sum, result); } } 五、配置Manifest.xml文件 <!--l version="1.0" encoding="utf-8--><!--个很重要 如果没有配置 运行时报错:an instrumention test runner is not specified --><!-- Loading test library --><!--这个是关键,android:targetPackage="com.test.junit"要测试的包,android:name="android.test.InstrumentationTestRunner" 用于跑TestCase的类-->六、运行模拟器和项目 七、在TestCase类中点击右键: 八、运行结果 九、不使用Eclipse,控制台的命令: E:/android/android-sdk-windows-1.5_pre/tools>adb shell am instrument -w com.test.junit /android.test.InstrumentationTestRunner 如果你配置了Android环境变量,直接使用: adb shell am instrument -w com.test.junit/android.test.InstrumentationTestRunner 语法:adb shell am instrument -w <被测试的类的包名>/android.test.InstrumentationTestRunner
分享到:
相关推荐
android-junit-report-1.5.8.jar
android-junit-report-1.5.8.jar — Version 1.5 (build 8). 8KB · Uploaded on 17 Oct 2012
官方版本,亲测可用
官方版本,亲测可用
1、 在应用tests目录文件下新建一个libs文件夹,将android-junit-report-dev.jar拷贝到该libs文件夹中 2、 在应用tests目录中的Android.mk文件加上如下配置: LOCAL_STATIC_JAVA_LIBRARIES += android-junit-report...
android-junit-report jar包及源码
一个Gradle插件,允许在使用AndroidGradlePlugin3.2.0或更高版本的Android环境中执行JUnit5测试。
android-junit.pdf android结合junit进行android单元测试
android-junit android敏捷开发TDD的基础知识。
gradle-android-junit-jacoco-plugin 从Gradle项目生成Jacoco报告的Gradle插件。 此插件支持Android应用程序,Android库,Kotlin和Java插件。 应用此插件后,它将遍历每个子项目并创建相应的Jacoco任务。 Android...
Android 单元测试,JUnit的4大功能 1. 管理测试用例。修改了哪些代码,这些代码的修改会对哪些部分有影响,通过JUnit将这次的修改做个完整测试。这也就JUnit中所谓的TestSuite。 2. 定义测试代码。这也就是JUnit中...
android-junit5 一个Gradle插件,允许使用Android Gradle Plugin 3.5.0或更高版本在Android环境中执行测试。 如何? 该插件为项目的每个构建变体配置单元测试任务,以在JUnit Platform上运行。 此外,它附加到...
官方版本,亲测可用
官方版本,亲测可用
将AndroidManifest.xml文件中的TestRunner改成com.zutubi.android.junitreport.JUnitReportTestRunner就可以自动生成xml报告文件
NULL 博文链接:https://15035554141.iteye.com/blog/2093930
官方版本,亲测可用
官方版本,亲测可用
官方版本,亲测可用