私のAndroid studio内に次のdir構造を持つテストスイートがあります。
-MainProject
-src
--com
--tests
--Java.xx.xxx.xx.test
私のAndroidManifest内には、次のものがあります。
<instrumentation
Android:name="Android.test.InstrumentationTestRunner"
Android:targetPackage="tests.Java.xxx.xxx.xxx.test" />
コマンドラインからテストを実行すると:./gradlew connectedInstrumentTest
、私は単に得ます:
Tests on Nexus 5 - 4.4.2 failed: Instrumentation run failed due to 'Java.lang.ClassNotFoundException'
内部からテストを実行すると、Android Studioが表示されます。
Running tests
Test running startedTest running failed: Unable to find instrumentation info for: ComponentInfo{tests.xxx.xxx.xxx.xxx.test/Android.test.InstrumentationTestRunner}
Empty test suite.
また、build.gradleファイルのdefaultConfigでtestPackageNameを指定しています。実行中Android Ubuntu 12.0.4のStudio 0.4.6。
何か案は?
私は同じ問題を抱えていて、ネット上で何も見つけることができませんでした。答えは非常に簡単でした。テストのRunConfigurationを編集して、AndroidテストではなくJUnitテストになるようにする必要があります。
だから基本的に私は次のことをしました:
それでおしまい。
このようなエラーも発生し、 https://google.github.io/Android-testing-support-library/docs/espresso/setup/index。 html そしてそれは働いています。それがあなたにも役立つことを願っています:-)
testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
基本的に、クロスチェックする3つのこと:
testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
そのプロジェクト/モジュールのbuild.gradleのdefaultconfig内(サブモジュールの場合)
次のテストコンパイル依存関係を追加したことを確認します。
androidTestCompile 'com.Android.support.test:rules:0.5'
androidTestCompile 'com.Android.support:support-annotations:25.2.0'
androidTestCompile 'com.Android.support.test:runner:0.5'
テストファイルだけでなく、AndroidTestフォルダーにもテストファイルを追加していることを確認してください。
さまざまな方法を試しましたが、問題を解決する方法はありませんでした。私がやったことは、Javaテストファイルをコピーを同じ正確なフォルダに作成しますが、名前が異なり、元のファイルを削除します。
この問題は元々、テストクラスをプロジェクトのテストフォルダーからandroidTest
フォルダーに移動したことが原因であると思います。
エントリを削除しましたAndroid.support.test.runner.AndroidJUnitRunner
からAndroidテスト構成とテストの実行を開始しました