コマンドラインからAndroid JUnitテストを実行する
旧ブログ(blog.ogaclejapan.com)から移行してきた古い記事です。 移行に伴い、一部のレイアウトが崩れている可能性もありますmm
AndroidのJUnitテストをコマンドラインから実行する方法を忘れぬうちにメモしておく。
すべてのテストケースをテストする場合
# testプロジェクトのパッケージが「com.ogaclejapan.myproject.test」だった場合
$ adb shell am instrument -w com.ogaclejapan.myproject.test/android.test.InstrumentationTestRunner
特定のテストケースをテストする場合
# テストクラスの名前が「com.ogaclejapan.myproject.test.MyTestCase」だった場合
$ adb shell am instrument -w -e class com.ogaclejapan.myproject.test.MyTestCase com.ogaclejapan.myproject.test/android.test.InstrumentationTestRunner
特定の1メソッドのみテストする場合
# 1メソッドの名前が「com.ogaclejapan.myproject.test.MyTestCase#testMyMethod」だった場合
$ adb shell am instrument -w -e class com.ogaclejapan.myproject.test.MyTestCase\#testMyMethod com.ogaclejapan.myproject.test/android.test.InstrumentationTestRunner
特定カテゴリーのみテストする場合
# @SmallTestアノテーションをついてるテストメソッドのみの場合
$ adb shell am instrument -w -e size small com.ogaclejapan.myproject.test/android.test.InstrumentationTestRunner
独自アノテーションを付与したカテゴリーのみテストする場合
まず、独自アノテーションを定義する
package com.ogaclejapan.myproject.test;
/**
* CI環境でテストすべきテストメソッドであることを示すマーカーアノテーションです。
*/
public @interface TestCI {}
そして、テストメソッドに定義したら準備おk
package com.ogaclejapan.myproject.test;
public class MyTestCase extends TestCase {
@TestCI
public void testMyMethod() {
//testcode...
}
}
# @TestCIアノテーションをついてるテストメソッドのみの場合
$ adb shell am instrument -w -e annotation TestCI com.ogaclejapan.myproject.test/android.test.InstrumentationTestRunner