2016-07-20 9 views
2

Androidユニットのテストや設定をコマンドラインから実行する方法はありますか?現在、 "gradle test"はUnit Testsテスト成果物内のすべてのテストを実行しますが、エラーで失敗します: "java.lang.IllegalStateException:計測器登録なし!登録計器で実行する必要があります。Androidスタジオユニットテスト設定

com.foo.android(テスト)を右クリックしてAndroidスタジオ内の「com.foo.android」でテストを実行するときに実行されるのと同じ設定を実行する方法をお探しですか?私はこれをジェンキンスに移したいと思っています。または、ASで手動で作成した設定を使用することができます。

おかげ

[EDIT] 私は、それぞれの成果物への純粋なJUnitのユニットテストと計測・テストを分離した場合、私が自分でUIテストを実行する能力を失う、その後、これを回避する方法があります?私はUITestパッケージを実行するだけの設定をしていますが、コマンドラインからこの設定を実行する方法はわかりません。サブパッケージ内のすべてのテストケースを実行

adb shell am instrument -w <package>/android.test.InstrumentationTestRunner 

adb shell am instrument -w <package>.<sub package>/android.test.InstrumentationTestRunner 

は、テストクラスから単一のテストケースを実行

+1

計装されていますかエスプレッソテスト)、または純粋なJavaのjunitテストですか? –

+0

両方を混ぜても、それらはすべて同じクラスに含まれているわけではありません。 – CroatianBlackhawk

+0

build.gradleに 'testInstrumentationRunner'を設定しましたか? –

答えて

0

は、これらのコマンドラインからアンドロイドユニットテストを実行するのに役立ちますかどうかを確認してください:

adb shell am instrument -w -e class <project>.<test class>#testCase 
<package>/android.test.InstrumentationTestRunner 
+0

これはパッケージでは動作しますが、個々のパッケージを個別に指定する代わりに、設定を実行する方法がありますか?そうでない場合は、unitTests、InstrumentationTests、およびUITests専用のパッケージを作成することもできます。 – CroatianBlackhawk

0

私がそれをするのが最良の方法は、すべての私のUITestsをパッケージND私はユニットテストを実行する場合は、実行:すべてのテストを実行するための

adb shell am instrument -w -e notPackage com.foo.android.UITest com.foo.android.test/android.support.test.runner.AndroidJUnitRunner 

は実行のみ:UITestため

adb shell am instrument -w com.foo.android.test/android.support.test.runner.AndroidJUnitRunner 

を:あなたはテスト(例えばを

adb shell am instrument -w -e package com.foo.android.UITest com.foo.android.test/android.support.test.runner.AndroidJUnitRunner