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

旧ブログ(blog.ogaclejapan.com)から移行してきた古い記事です。 移行に伴い、一部のレイアウトが崩れている可能性もありますmm

Author's Avatar mini

Masaki Ogata

AuthorMasaki Ogata

Published

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
Author's Avatar

Masaki Ogata ( a.k.a. ogaclejapan )

5年間ほどAndroidアプリ開発者へ型変換していましたが、Designも含めてサービス開発に必要な技術をすべて吸収していきたいマン。WebとBackendの記憶を只今アップデート中 :P

もし気に入っていただけたら記事シェアのご協力をお願いします!!