web-dev-qa-db-ja.com

Android Studio "テストが見つかりませんでした"

誰かがAndroid Studioで(端末ではなくGUIから))テストを実行できるようになりましたか。GUIからテストを実行できませんでした。

GUIを介してテストを実行しようとするたびに、次のメッセージが表示されます。

enter image description here

次のコマンドを使用して、ターミナルからテストを実行できます。

./gradlew connectedAndroidTest

Android Studio 0.5.2 with Gradle 1.11 with Plugin 0.9. on Mac OSXを実行しています

私のプロジェクトの構造は次のとおりです。

MyProject/
   src/
      androidTest/
         Java/
             com.myproject.app.test/
                … (tests source code) …
      main/
         Java/
             com.myproject.app/
                … (source code) …
         res/
                … (resources code) …
   build.gradle

私のbuild.gradleファイルは次のようになります。

…
Android {
    compileSdkVersion 19
    buildToolsVersion "19.0.1"

    defaultConfig {
        versionCode 12
        versionName "2.0"
        minSdkVersion 9
        targetSdkVersion 19       
    testPackageName "com.test.foo"
        testInstrumentationRunner "Android.test.InstrumentationTestRunner"
    }
}
…

誰かが何か提案があれば、私はここでそれらを喜んで以上にするでしょう。

23
El Wexicano

わかりました、問題の原因を見つけました。

プロジェクトの.ideaフォルダーにあるmisc.xmlファイルで、次のようなProjectRootManagerコンポーネントの無効な属性値がありました。

  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" assert-keyword="true" jdk-15="true" project-jdk-name="1.6 (3)" project-jdk-type="JavaSDK">
    <output url="file://$PROJECT_DIR$/build/classes" />
  </component>

したがって、project-jdk-name属性値を"1.6"に変更すると、問題が解決しました。以下は、値を更新した後の様子です。

  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" assert-keyword="true" jdk-15="true" project-jdk-name="1.6" project-jdk-type="JavaSDK">
    <output url="file://$PROJECT_DIR$/build/classes" />
  </component>

これが誰かを助けることを願っています。

4
El Wexicano

今日、いくつかのEspressoテストで同じ問題が発生しましたが、すべてが正常に見えたので、私は夢中になりました。最後に、問題は、メソッドに@BeforeClass(クラス内のいずれかのテストメソッドの前に実行する必要があるメソッドをマークするために使用される注釈)が例外をスローしていました。予想よりも時間がかかった理由は、そのメソッドで問題が発生した場合、例外のスタックトレースがログウィンドウに表示されないためですRunタブLogウィンドウAndroidモニタータブ

問題を再現したい場合は、これをテストクラスに追加してください:

@BeforeClass
public static void setupClass() {
    throw new RuntimeException("Sorry dude, you won't find any test!");
}
25
Diego Palomar

これは、実行構成のタイプが正しくないときに発生する可能性があります。

私の場合、KotlinでEspressoテストを実行すると、これはうまくいきません。何らかの方法でAndroid JUnitテストが間違ったタイプです。手動でAndroid Instrumentedを作成しますテストは問題を解決します。

10
Cristan

私にとってそれは愚かなことでした。 ReleaseビルドバリアントからDebugに切り替えるだけで問題は解決しました。

1
gingo

エミュレータからデータをワイプするだけで問題は解決しました。ログでは、十分なスペースがないことがわかりました。空のスイートエラーが発生するテストを実行する前に実行したテストは正常に機能し、両方のテストがプロジェクト内の同じ場所にあったため、構成上の問題はありませんでした。

0
astha

@Testアノテーションにはimport org.junit.jupiter.api.Test;からアノテーションを付ける必要があります

0
Anjan Debnath

私の場合、SING KOTLINは何もスローしませんでした。端末で実行しようとしたコマンドを実行した場合:

$ adb Shell am instrument -w -r -e debug false -e class xx.xxxxxxx.xx.xx.xxx.xxx.HomeActivityTests xx.xxxxxxx.xx.xx.debug.test/Android.support.test.runner.AndroidJUnitRunner

エラーがスローされます。

原因:org.mockito.exceptions.base.MockitoException:

クラスxx.xxxxxxx.xx.xx.xxx.xxx.xxx.ProductUseCaseをモック/スパイできません

Mockitoは次の理由でモック/スパイできません:-xx.xxxxxxx.xx.xx.xxx.xxx.HomeActivityTests。(HomeActivityTests。 kt:25)...さらに20

失敗!!!

そして、それは私がクラスをopenしなかったことを示しました、それはKotlinでテストするときmustだからです

0