Androidアプリ用のテストスイートがあり、すべてのユニットテストが正常に実行されます。ただし、単体テストクラスの1つ(たとえば、ModelUnitTests
)で1つの変更を行うたびに、そのクラスを再度実行しようとすると、このメッセージが表示されます
Process finished with exit code 1
Class not found: "xxx.xxxxxx.xxx.ModelUnitTests"Empty test suite.
Gradle cleanを実行してからクラステストを再度実行すると、正常に実行されます(ただし、実行に4分かかります...)が、新しい変更により再び中断されます。
これを修正する方法に関するアドバイスはありますか?どのテスト構成を投稿する必要があるのか正確にはわかりません。ユニットテストアーティファクトを使用しており、テストはmodule/src/test/package
フォルダーにあります
私は同様の問題を抱えていましたが、それは最初に同じクラス名で単体テストを作成しただったからです。 Instrumented Unit Testを作成したときにエラーが発生しました。
それを解決するために、実行アイコンの左側にある[構成の編集]に移動しました。それからnit Testの下で、それは'conflicting'クラスでしたI deleted。 [適用/ OK]をクリックします。次に、クラス名を右クリックし、実行をクリックすると、機能します。
同じ問題がありました。テスト中のメソッドが、実行/デバッグ構成ドロップダウンに次のように表示されていることに気付きました。TestClassName.testMethod()
正しいというより:testMethod()
このエラーを発生させていたテストメソッドのTestClass.testMethod()
実行/デバッグ構成を削除し、テストを再実行することで修正しました。
同じ問題が再現される場合は、誤った実行/デバッグ構成を削除してから、テストメソッドを右クリックして次を選択します。Create 'testMethod()'...
(実行またはデバッグではなく)作業構成を作成します。
ちょうどこれに遭遇しました-Kotlinで私の単体テストを書いています。私の場合、特定のモジュールbuild.gradle
ファイルにkotlinプラグインを追加するのを忘れていました。
apply plugin: 'kotlin-Android'
Android Studioの修正は次のとおりです。
私はこの問題を抱えていましたが、この投稿(または他の非常に目立つStack Overflow投稿)の答えのどれも私のためにそれを解決しませんでした。
ただし、gradleタスクを手動で実行するとcompileTestKotlinが問題を解決したようです。
これはKotlinテスト用でした、Android Studio 3.1.2
チームで作業している場合は、すべてのbuild.gradle
ファイルをチェックして、誰もテストタスクを無効にしていないことを確認してください。 「空のテストスイート」エラーが発生しましたが、最終的にはプロジェクトルートのbuild.gradle
にある次のエラーが原因であることがわかりました。
gradle.taskGraph.whenReady {
tasks.each { task ->
if (task.name.contains("Test"))
{
task.enabled = false
}
}
}
AS 3.3で私に起こりました。
私はフレーバーを使用していますが、これはsrc/main
とsrc/test
のみを持つモジュールで発生しました。アプリモジュールにはsrc/main
src/common
およびsrc/flavor
があります。 ASで選択されたビルドタイプはflavorDebug
でした。
それを修正するために、「実行構成」に行き、「モジュールのクラスパスを使用」ドロップダウンでアプリモジュールが選択されました。テストしたいモジュールを選択してください!
今日、テストクラスの1つでこの問題が発生しましたが、ここで解決する方法はありませんでした。ただし、異なるテストクラスを実行するだけで修正されました。その後、元の問題のあるクラスが正しく実行されました。