Android test + emma

Android Junit 是android的测试工程, 和emma配合使用可以测试 java 代码的覆盖率。


1. 创建Android Test Project

会提示选择要测试的android 工程。  Andoid test 工程由两种方式创建, 一种是在被测试的工程内部创建, 右键--〉 New --〉JUnit Test case; 另一种是创建单独的Test 工程,选择被测试 的android工程,这里要使用第二种方式。


2. 添加Test case

SetUp 是初始化方法, 用来创建一些全局的环境,会首先执行。 测试用例就是添加一些 public方法。

Sample:

public class TestLivePlayer extends InstrumentationTestCase  {
//private LivePlayerControl playerctrl=new LivePlayerControl( );
//private final String vpath = "rtmp://rtmpexo1.wasu.cn/live4/zjws";
private final String vpath = "/sdcard/video.mp4";
LivePlayerControl playerctrl = new LivePlayerControl( );

@Override
protected void setUp() throws Exception {
// TODO Auto-generated method stub
super.setUp();
playerctrl = new LivePlayerControl( );
playerctrl.setControllerListener(null);
playerctrl.setVideoPath(vpath);
}


public void teststart() throws InterruptedException{
         
   

Thread thread = new Thread()
{
   @Override
   public void run() {
    playerctrl.start();
   }
};


thread.start();

SystemClock.sleep(1000*30) ;

int retval = playerctrl.returnvalue();
playerctrl.exit();
assertEquals(Constants.ISPLAYING_2, retval); 
 
}

3.  Ant Emma 测试代码覆盖率

安装ant 新版本。 cygwin 下可以使用 apt-cyg install安装,和gpt-get install用法相同。

测试工程                    被测试工程             LivePlayer依赖的Library
LivePlayerTest  ----> LivePlayer     -------> video_render


  • #update project is to test    
$android update project -p LivePlayer

  • #ant unit test project
android update test-project -m D:\<path>\LivePlayer -p D:\<path>\LivePlayerTest
or   //这里要使用相对路径或绝对路径
cd LivePlayerTest
android update test-project -m ..\LivePlayer -p ..\LivePlayerTest


  • #run emma
ant clean emma debug install test


  • #result
generate _files folder and coverage.html(txt,xml) at LivePlayerTest


Q&A

1. 提示ant不能解释build.xml
更新ant版本


2. 提示LivePlayer的build.xml没有各种Target
add these lines to build.xml


    <property file="local.properties" />
    <property file="project.properties" />
    
    
 <import file="${sdk.dir}/tools/ant/build.xml" /> 
 
2. 提示GL2JNIActivity,video-render下的build.xml没有各种target
add these lines to build.xml


    <property file="local.properties" />
    <property file="project.properties" />
    
    
 <import file="${sdk.dir}/tools/ant/build.xml" /> 
 
 
adb运行方式是早期SDK提供的方法,新方法使用ant 
#run run test with adb,generate coverage file
adb shell am instrument -w  com.baidu.lightapp.plugin.videoplayer.coreplayer.test/android.test.InstrumentationTestRunner -e coverage true


reference:

https://wiki.jenkins-ci.org/display/JENKINS/Building+an+Android+app+and+test+project



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值