web-dev-qa-db-ja.com

java.lang.Exception:Intellijを使用したMethodに一致するテストが見つかりませんでしたIDEA

Intellij IDEA 2016.3。fooメソッドを持つクラスと、Java.lang.Exception: No tests found matching Method fooテストの実行時。 mvn test成功し、mvnコマンドを実行した直後にユニットテストを実行すると、突然緑色になります。 IDEAは自動的にコンパイルされません。どうすれば修正できますか?

追伸バージョン2016.3にアップグレードした後、設定は変更されませんでした

26
Arthur Eirich

さて、各ユニットテストの実行構成を少し「再生」した後、各実行構成にはBefore LaunchオプションにBuildゴールプリセットがあることに気付きました(下の写真を参照): enter image description here

BuildBuild Projectに変更すると、テストは正常に実行されます。

7
Arthur Eirich

Gradle(4.5+)+新しい Build Cache 機能で得た同じ問題

時々、新しいテストメソッドを見つけることができず、例外をスローします(トピックで述べたように)

解決策:clean .gradlebuildおよびoutディレクトリを選択して、もう一度試してください;)

20
Evgeny Lebedev

Junit'sRobolectric's などの理論テストフレームワークを使用している場合は、テスト自体ではなく、目的のテストを含むクラスを実行してください。これらのフレームワークは、静的メソッドではなくインスタンスメソッドとしてテストメソッドを使用するため、通常のpublic staticテストでは何も見つかりません。

17
user70585

Intellijのoutディレクトリを削除すると、この問題は修正されました。

6
user3026571

最初に「foo」という名前のテストを実行し、それを「fooBar」に名前変更した場合、その後、新しい実行構成で「fooBar」を実行する必要があります

「foo」に対して同じ元の実行構成を使用して「fooBar」を実行する場合、「foo」という名前のテストが検索されますが、「fooBar」に名前が変更されたため、検出されません(したがって、例外)。新しい実行構成は、「fooBar」テストを正しく検索します。

テストの名前を変更したため、このエラーを知らずに犯しましたが、IntelliJの緑色の実行ボタンをクリックしました。

5
cellepo

ここでの他の回答に加えて、テストメソッドの宣言の前に@Testを忘れた場合にもエラーが発生する可能性があります。 IntelliJ(2018.1)では、テスト実行用の緑色の「Play-Button」が引き続き表示されますが、Test-Classのパブリックメソッドは実際のテストではありません。

4
Phil

たぶん、テストメソッドに間違った名前を付けただけかもしれません。

この問題に遭遇したのは、intelliJが表現できない「_」の代わりに「—」を使用したためです。

1
Ming Arron

この状況は、@Testテストメソッドの上の注釈。

0
Kuba Skiba

クラスの上記のランナーが正しいことを確認してください。

ランナーCucumberWithSerenity.classを使用していたときに、この奇妙なメッセージが表示されていました。 SerenityRunner.classに変更すると、修正されました。

@RunWith(SerenityRunner.class)
//@RunWith(CucumberWithSerenity.class)
public class WordPressAppTest {

私はWeb自動化にSerenityフレームワークを使用しており、ランナークラス以下で使用しています

import net.serenitybdd.cucumber.CucumberWithSerenity;
import net.serenitybdd.junit.runners.SerenityRunner;
import org.junit.runner.RunWith;

IDEA(2017.2.6)これよりも良いエラーメッセージを表示できると感じています

0
vikramvi

テストが公開されていることを確認してください

0
Kyle Anderson