Androidでテストカバレッジレポートを出力

2013-05-13T00:00:00+00:00 Android Java

http://blog.kawamura-lab.com/?p=68

を参考にしました。まぁ普通に「android update (test-)project」的な事をやったら生成されるbuild.xmlのantタスクでemmaタスクでサポート出来る模様。でこっちでハマったのがライブラリプロジェクトの扱い、ライブラリプロジェクトにもbuild.xmlとかそういう辺りが必要な模様(フィルターすれば必要ないのかは不明)

android update lib-project -p ライブラリプロジェクトのルートパス

な感じで処理しまくれば良い。今回使ってたのがActionBarSherlockとSlidingMenuだったのでそちらのライブラリプロジェクトに上記をやっておく

でテストする側のアプリを

ant emma debug install

まぁ実機にカバレッジ出す名目なクラスをコーティングでもしてるんかなと。emma自体のプロセス的にどういう処理が行われるのか知らないのだけれども。で今度はテストプロジェクト側で

ant emma debug install test

みたいにやるとテストプロジェクトのbinディレクトリ内にカバレッジレポートがもろもろ出力される

な感じ。ただこれやるとEclipse上でのAndroidテストプロジェクトが何やらdexエラーで実行出来なくなる(一度クリーンすれば良い模様)

てな感じでカバレッジレポートも出せるようになってたのは知らなかった。ただ、ライブラリプロジェクトとかもカバレッジ取得しちゃうのだけど、これをフィルターするのがどうもうまくいってない

Androidのテストカバレッジレポートでフィルター Android SlidingMenuを試す