Android 中使用JUnit进行自动测试

      假设你正在编写Android服务代码,而且,又要时不时的重构代码,那么,最有效的方式是添加自动测试用例。在写过一个简单的sample以后,发现确实很容易,下面我google的一些资料,关于如何在Android上自动测试类,通常是下面的服务类。有一点值得提的是,测试的速度比较慢,毕竟是在仿真器上运行的缘故。

1.Test Drived Develop, http://baike.baidu.com/view/76310.htm
TDD的基本思路就是通过测试来推动整个开发的进行,但测试驱动开发并不只是单纯的测试工作,而是把需求分析,设计,质量控制量化的过程。

2.Eclipse下使用JUNIT,http://down.dns.sh.cn/article/236/285/2005/200509128774.asp

3.Android下的测试:
Android---jUnit测试环境,http://tdq222.javaeye.com/blog/700390
android中junit测试类的编写,http://wangjun.easymorse.com/?p=238
Android、JUnit深入浅出(六)——如何运行单元测试?http://www.moandroid.com/?p=1223

自动测试的大致步骤如下:
3.1添加继承AndroidTestCase的TestCase类,并添加要测试的代码,可以添加任意函数,如testHello(),该函数会被测试框架自动执行。
3.2在manifest中添加相关代码:

   1: 
    "1.0" encoding="utf-8"?>
   2: 
    
     "http://schemas.android.com/apk/res/android"
    
   3:       package="com.hello"
   4:       android:versionCode="1"
   5:       android:versionName="1.0">
   6:     
    
     "@drawable/icon" android:label=
     "@string/app_name">
    
   7:         
    
     "android.test.runner" />
    
   8:         
    
     ".HelloActivity"
    
   9:                   android:label="@string/app_name">
  10:             
    
  11:                 
    
     "android.intent.action.MAIN" />
    
  12:                 
    
     "android.intent.category.LAUNCHER" />
    
  13:             
  14:         
  15:     
  16:     
    
     "android.test.InstrumentationTestRunner" 
    
  17:                      android:targetPackage="com.hello" 
  18:                      android:label="Tests for My App" />
  19:     
    
     "android.permission.ACCESS_NETWORK_STATE" />
    
  20:     
    
     "android.permission.READ_CONTACTS" />
    
  21:     
    
     "android.permission.WRITE_CONTACTS" />
    
  22: 

注意:主要在Application节点下添加users-library节点,以及instrumentation节点。而且,instrumentation的android:targetPackage的值要和manifest的package属性一样。

你可能感兴趣的:(Android 中使用JUnit进行自动测试)