eclipse android test project,Android test code coverage, Eclipse

可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):

问题:

Is there a way to run unit tests for Android from Eclipse in a way that will instrument the code and measure test code coverage?

I'm looking for a simple way to find out which parts of my application aren't tested yet, fix the test cases and see if that helped.

回答1:

Disclaimer: I'm an Atlassian

The Atlassian Clover tool has also support for Android - it measures coverage for both application code and unit tests. Although in alpha stage, it works quite well - it works with Eclipse version 3.6.2 and higher.

If you want to find areas of your application which require improvement, then the following Clover features will be perfect for this task:

Clover Dashboard

Coverage Cloud Report

Coverage TreeMap Report

Coverage Explorer

Oh, and the Clover HTML Report looks fantastic!

Check this: https://confluence.atlassian.com/display/CLOVER/Clover-for-Android

回答2:

I've been used EMMA (android already support it) for code coverage (and android-junit-report for test reports), here is a summary:

Create android project (or library)

android.bat update project -p project -n my_project -t android-16

cd project

ant emma clean debug

create a test project (linked to previous library)

android.bat update project --library ..\project -p project_Test -n project_Test -t

in case the main project is not a library

android.bat update project -m ..\project -p project_Test -n project_Test -t

ant emma clean debug install

I ddidn't use 'test' since I want to run my own instrument

adb shell am instrument -e coverage true -e coverageFile sdcard/coverage.ec -w com..myproject.test/com.zutubi.android.junitreport.JUnitReportTestRunner

Pull files from device (emulator)

adb pull sdcard/junit-report.xml

adb pull sdcard/coverage.ec

Generate XML report (can also generate html report)

java -cp emma.jar emma report -r xml -in bin/coverage.em,coverage.ec

Generate HTML report (can also generate html report)

java -cp emma.jar emma report -r html -in bin/coverage.em,coverage.ec

Using Post-builds (Jenkins):

JUnit report XML

Emma Coverage report (give the coverage.xml as input)

Don't need the emma.jar into libs

Check it out from my blog

回答3:

Install EclEmma from Eclipse Marketplace.

If you have /build.xml file rename it.

I was able to generate test coverage report by executing following from the console:

android update test-project -m -p + Enter,

cd + Enter,

ant emma debug install test + Enter,

where is /opt/android-sdk-linux/tools/ on my machine - the folder where android SDK is installed.

This generated /bin/coverage.html file.

If you get "wrong JAVA_HOME" error execute gksu gedit /etc/environment + Enter, correct JAVA_HOME, save the file, log out or reboot and try again.

Source: http://blog.rabidgremlin.com/2010/11/19/android-tips-generating-a-coverage-report-for-your-unit-tests/

回答4:

Take a look at this article: http://blog.pboos.ch/2011/06/coverage-fo-android-tests/

EDIT: Updated link: https://github.com/pboos/blog.pboos.ch/blob/master/_posts/2011-06-29-coverage-fo-android-tests.markdown

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值