60

だから私は私たちの Android Studio を試して、Eclipse で動作するプロジェクトをテストしています。すべてのコンパイルが完了し、アプリケーションは正常に起動しますが、単体テストを起動して動作させることができません。最終的に、アプリケーションのlibフォルダーを依存関係として追加してコンパイルしましたが、テストを実行するたびにこのエラーが発生するため、実行構成が正しいとは思いません

Installing <packagename>
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/<packagename>"
pkg: /data/local/tmp/<packagename>
Success


Running tests
Test running started
Test running failed: Unable to find instrumentation info for: ComponentInfo{<packagename>/android.test.InstrumentationTestRunner}
Empty test suite.

編集:すべての新しい到着者に、私が最初にこの質問を投稿して以来、Android Studio の状態は大きく変化しましたが、多くの親切な人々がこのエラーに対する特定の解決策を投稿し続けています。アクティブで並べ替え、最新の回答を最初にチェックすることをお勧めします。

4

15 に答える 15

61

次のように testInstrumentationRunner が定義されている場合build.gradle:

android {
    defaultConfig {
        testInstrumentationRunner "com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner"

実行構成ウィンドウで、テストの Android Studio / IntelliJ 実行構成とまったく同じ「特定のインストルメンテーション ランナー」を使用していることを確認してください。

于 2014-04-23T12:39:45.700 に答える
20

私の場合、解決策は次のとおりです。

  • 表示 > ツール ウィンドウ > ビルド バリアント
  • *デバッグバリアントを選択
于 2013-12-17T17:19:02.223 に答える
4

これは、AndroidStudio バージョン < 2.3 でのみ機能します。

私の場合、間違ったインストルメンテーション ランナーが選択されました。

テストの実行/デバッグ構成でインストルメンテーション ランナーを指定することで、これを修正しました (以下を参照)。そこで、リストからランナーを選択できます。 1]

実行/デバッグ構成が見つかります:実行->構成の編集...

于 2016-04-13T11:50:47.360 に答える
1

@Iuliia Ashomok と同じ問題が発生し、インターネットですべてを試しました。

まだ運がありません。

2日間の調査の後、問題は携帯電話によって引き起こされていることがわかりました. .V.

私はもともとXiaomi Mi4iをテストデバイス(ルート化)として使用しており、テストを実行できませんでした。もちろん、以下のエラーが発生しました。

Test running failed: Unable to find instrumentation info for: ComponentInfo{<packagename>/android.test.InstrumentationTestRunner}

ただし、Sony Xperia Z3(ルートなし)を使用すると、すべて正常に動作します。

于 2016-03-01T10:17:09.943 に答える
0

これらの回答はどれも役に立たなかったので、私と同じように必死になっている人のために私の解決策を共有したいと思いました. :)

multiDexEnabled true使用していたテスト ライブラリのため、Gradle ビルドに追加して multidex サポートを有効にする必要がありました。そもそもmultidexサポートが完全に実装されているかどうかはわかりませんが(最後に実装してから適切な方法が変更されました)、最終的には必要なくなり、ビルドからその行を削除するとエラーが修正されました. 私の職場のチームは、典型的な Android スタイルでの multidex サポートの有効化に関連するいくつかのテストの問題を抱えていました。

于 2016-04-22T00:34:10.650 に答える
0

私にとって問題は、この依存関係を持っていたことです:

debugCompile 'com.android.support.test:rules:0.2'

削除した後、テストが見つかり、再度実行されました。

「インストルメンテーションが見つかりません」というメッセージではなく、「テストが見つかりません」というメッセージが表示されたことに注意してください。

于 2015-07-23T07:41:15.543 に答える
0

この回答では、履歴の問題を説明し、関連するすべての設定を要約します。

基本的に、インストルメンテーション テスト ランナーの構成には 3 つの場所があります。

  1. EditConfigurations -> General タブ -> Specific Instrumentation Runner (任意)
    これは Android Studio 2.2 以前のバージョンにのみ存在し、最新バージョンでは既に削除されています。

  2. マニフェスト ファイルでは、テスト ランナーは次のように構成されています。

    < instrumentation android:name="android.support.test.runner.AndroidJUnitRunner"
           android:targetPackage="com.mytestapp.test"/>

「android.test.InstrumentationTestRunner」は API レベル 24 で非推奨になったため、gradle ファイルでランナーを構成する限り、この設定も必要ありません。
この設定を維持したい場合は、ランナー名が gradle ファイルで設定したものと一致していることを確認してください。一致していないと、このエラーも発生します。

  1. グラドルファイルで。
    上記の Android Studio v2.3 を使用する場合、これが唯一の推奨される方法です。
    android {
    .......
        defaultConfig {  
            .......  
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"  
        }   
    }
于 2019-03-19T08:57:53.410 に答える