Picture

Hi, I'm ogaclejapan.

Android Software Engineer at AbemaTV

コマンドラインからAndroid JUnitテストを実行する

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
Back to Top