banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

[Android] Emmaを使用して単体テストのコードカバレッジを分析する

Android の単体テストを行う際には、Eclipse または Google の ADT Bundle 統合開発環境を使用しますが、開発ツールの制約により、通常のプラグイン(例:eclemma、Clover Eclipse Plugin など)を直接使用して単体テストのコードカバレッジを取得することはできません。通常、以下の方法でコードカバレッジを表示します。

方法 1:テストコードの親クラスを AndroidTestCase ではなく TestCase に変更します。この方法は、Android SDK のソースコードに依存しない単体テストにのみ適用されます。 方法 2:Android SDK に統合されている Emma 機能を使用し、ant を使用してコマンドラインでコンパイルと単体テストを行います。以下のスクリプトを使用します。 ここでは、Eclipse のプロジェクト名が MyProject で、ファイルパスは以下のようになっていると仮定します。 ./ #プロジェクトのメインディレクトリ ./src #アプリのメインディレクトリ ./test #アプリのテストプロジェクトのメインディレクトリ

MacOS/Linux Shell

# JAVA 実際の設定に合わせて以下を設定してください
#Mac OS X
#export JAVA_HOME=/Library/Java/Home;
#Linux JDK
#export JAVA_HOME=/usr/local/jdk1.6.0_11;
#Linux JRE
#export JAVA_HOME=/usr/lib/jvm/jre6;

ANT 実際の設定に合わせて以下を設定してください#

#Mac OS X
#export ANT_HOME=/usr/share/ant;
#Linux
#export ANT_HOME=/usr/local/ant;
#export PATH=${PATH}:${ANT_HOME}/bin;

Android SDK のインストール場所#

#export ANDROID_HOME=~/android-sdk-macosx;
#export PATH=${PATH}:${ANDROID_HOME}/tools;
#export PATH=${PATH}:${ANDROID_HOME}/platform-tools;

#classpath に emma を追加
#export CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar:${ANDROID_HOME}/tools/lib/emma.jar;

#android のプラットフォームバージョン
export PROJECT_NAME=MyProject
export ANDROID_VER=android-13

#親フォルダに移動
cd ..

ant プロジェクトに変換#

android update project -p src -n ${PROJECT_NAME} -t ${ANDROID_VER}

ant テストプロジェクトに変換#

android update test-project -m ../src -p test

テスト実行#

cd test
ant clean emma debug install test

レポートを開く#

open ./bin/coverage.html

Windows Batch

:: JAVA
:: set JAVA_HOME=C:\Java\jdk1.6.0_11

:: ANT
:: set ANT_HOME=C:\Ant
:: set PATH=%PATH%;%ANT_HOME%/bin

:: Android
:: set ANDROID_HOME=C:\android-sdk-windows
:: set PATH=%PATH%;${ANDROID_HOME}\tools
:: set PATH=%PATH%;${ANDROID_HOME}\platform-tools

:: classpath
:: set CLASSPATH=%CLASSPATH%;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%ANDROID_HOME%\tools\lib\emma.jar

:: android のプラットフォームバージョン
set PROJECT_NAME=MyProject
set ANDROID_VER=android-13

:: 親フォルダに移動
cd ..

:: ant プロジェクトに変換
call android.bat update project -p src -n %PROJECT_NAME% -t %ANDROID_VER%

:: ant テストプロジェクトに変換
call android.bat update test-project -m ..\src -p test

:: テスト実行
cd test
call ant.bat clean emma debug install test

:: レポートを開く
explorer .\bin\coverage.html

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。