2016-11-03 15 views
4

うまく動作していたテストケースがたくさんありました。しかし、私のプロジェクトがバージョン25のツールをビルドするように更新され、JavaがJDK 1.8にアップデートされれば、すべてのテストケースが失敗しています。いいえ>Java 8およびビルドツールバージョン25にアップグレードした後、Androidテストケースが失敗する

計装は、「java.lang.NullPointerExceptionが」 com.android.builder.testing.ConnectedDeviceのため失敗しました実行します。私は./gradlew猫を使用して、私のテストを実行すると

は、私は、エラーメッセージが表示されます。インストルメンテーションの実行が原因 'にjava.lang.ClassNotFoundException'

com.androidに失敗しました:見つかった[ネクサス6 - - 6.0.1]テストが失敗した6.0.1ネクサス6のテストは

それとも

をFAILED .builder.testing.Conn 。解決策が何であるか

androidTestCompile 'junit:junit:4.12' 
androidTestCompile 'com.android.support.test:runner:0.4' 
androidTestCompile 'com.android.support.test:rules:0.4' 
androidTestCompile 'com.android.support.test:testing-support-lib:0.1' 

任意のアイデア: - ectedDevice>は見つかりませんテスト[ネクサス6 6.0.1]

私のbuild.gradleは以下の行を持って失敗しましたか?

更新:java.lang.NoClassDefFoundErrorが:によって引き起こさ

私は./gradlew -CAT -sを使用してのGradleから同じことを実行しようとすると、私は次の例外を参照してくださいORG/Gradleのcom.android.build.gradle.internal.tasks.DeviceProviderInstrumentTestTask.runTestsに/ログ/ ConsoleRenderer org.gradle.internal.reflect.JavaMethod.invokeで(DeviceProviderInstrumentTestTask.java:140) (JavaMethod.java:75) で(標準)。 :org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory $ StandardTaskAction.executeでorg.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory $ StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:221) (AnnotationProcessingTaskFactory.javaで(AbstractTask.java:604) at org.gradle.api.internal.AbstractTask gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61) ... 68もっと見る

グーグルではこれがグラデル2.14の特定の問題である可能性があることを示していますが、以前のテストでは同じグラデルバージョンで正常に動作していました。

+0

Javaユニットテストはうまく動作するため、Android関連の問題のようです。 –

答えて

0

私の基本コンテキストの初期化中は、根本原因がヌルポインタでした。

私の教訓:

  • にかかわらず、我々はテストケースを実行するためにIDEまたはのGradleを使用するかどうかの、彼らは最終的に午前計装コマンド(https://developer.android.com/studio/test/command-line.html)への呼び出しを行います。

  • コマンドadbシェルを実行します。-w -r -e debug true -e class(デバッグをtrueに設定していることに注意してください)。

  • 同時に、adb logcatを実行してください。これはなぜ私が正確にNPEに遭遇したかを教えてくれました。

関連する問題