JUnit @Ignore Test アノテーションと例
場合によっては、メソッド/コードを実行しないことが必要な場合があります。 テストケース コーディングが完全に完了していないためです。その特定のテストでは、 JUnit は、大阪で @無視する テストをスキップするための注釈。
何ですか JUnit @テストアノテーションを無視する
@Ignore テスト アノテーションは、ビルドの失敗をスキップするために特定のテストまたはテストのグループを無視するために使用されます。
@無視する アノテーションは、以下に示す XNUMX つのシナリオで使用できます。
- テストメソッドを無視したい場合は、@Test アノテーションと一緒に @Ignore を使用します。
- クラスのすべてのテストを無視したい場合は、クラス レベルで @Ignore アノテーションを使用します。
@Ignore アノテーションによって提供されるオプションのパラメーターでテストを無効にする理由を指定できます。
これは、同じコード部分に取り組んでいる他の開発者が「なぜ特定のテストが無効になっているのか」を理解するのに役立ちます。 特定のテストの問題が解決したら、削除するだけでテストを有効にできます。 @注釈を無視する.
Junit テストの例 – 無視
上の定義で説明したように、@Ignore アノテーションを使用してテストまたはテストのグループを無視できます。
簡単な例と以下のシナリオを使用してそれを理解しましょう。
- テストを無視せずに単純なテストクラスを作成します。
- @Ignore アノテーションを使用してテスト メソッドを無視します。
- @Ignore アノテーションを使用したテスト メソッドを適切な理由で無視します。
- @Ignore アノテーションを使用してすべてのテスト メソッドを無視します。
テストを無視せずに単純なテストクラスを作成する
シンプルなものを作成しましょう Java XNUMX 種類のメッセージを出力するクラス。
- 最初のメソッドは単純なメッセージを出力し、
- XNUMX 番目のメソッドは「こんにちは」メッセージを出力します。
JUnitメッセージ.java
package guru99.junit; public class JUnitMessage { private String message; public JUnitMessage(String message) { this.message = message; } public String printMessage(){ System.out.println(message); return message; } public String printHiMessage(){ message="Hi!"+ message; System.out.println(message); return message; } }
JunitTestExample.java
作成してみましょう JUnit テストするテストクラス JUnitメッセージ.java。
この中の JUnit テストクラス、
- 最初のテスト、名前は「テスト」JUnitMessage()」は、上記クラスの「printMessage()」メソッドをテストします。
- 同様に、「テスト」という名前の 2 番目のテストJUnitHiMessage」テスト「テスト」JUnit上記クラスの「HiMessage」。
package guru99.junit; import static org.junit.Assert.assertEquals; import org.junit.Test; public class JunitTestExample { public String message = "Guru99"; JUnitMessage junitMessage = new JUnitMessage(message); @Test public void testJUnitMessage() { System.out.println("Junit Message is printing"); assertEquals(message, junitMessage.printMessage()); } @Test public void testJUnitHiMessage() { message="Hi!" +message; System.out.println("Junit Hi Message is printing "); assertEquals(message, junitMessage.printHiMessage()); } }
テストランナー.java
JunitTestExample.javaを実行するためのテストランナークラスを作成しましょう。
package guru99.junit; import org.junit.runner.JUnitCore; import org.junit.runner.Result; import org.junit.runner.notification.Failure; public class TestRunner { public static void main(String[] args) { Result result = JUnitCore.runClasses(JunitTestExample.class); for (Failure failure : result.getFailures()) { System.out.println(failure.toString()); } System.out.println("Result=="+result.wasSuccessful()); } }
出力:
コンソールにステートメントを出力します。
Junit Hiメッセージが印刷されています
こんにちは!ぐる99
Junitメッセージが印刷されています
Guru99
@Ignore アノテーションを使用してテスト メソッドを無視する
上記の例のテストを無効にする無視テストを作成しましょう。 このためには、メソッド内で @Ignore を使用する必要があるため、スキップします。
テストでやってみましょうJUnitJunitTestExample.java の Message()
JunitTestExample.java
package guru99.junit; import static org.junit.Assert.assertEquals; import org.junit.Ignore; import org.junit.Test; public class JunitTestExample { public String message = "Guru99"; JUnitMessage junitMessage = new JUnitMessage(message); @Ignore @Test public void testJUnitMessage() { System.out.println("Junit Message is printing "); assertEquals(message, junitMessage.printMessage()); } @Test public void testJUnitHiMessage() { message="Hi!" +message; System.out.println("Junit Hi Message is printing "); assertEquals(message, junitMessage.printHiMessage()); } }
出力:
上記の例の出力を実行して確認してみましょう。
以下の出力は、XNUMX つのテストがスキップ (無効) されていることを示しています。以下のマークを参照してください。
コンソールにステートメントを出力します。
Junit Hiメッセージが印刷されています
こんにちは!ぐる99
Condition で @ignore アノテーションを使用する
テストを無視する方法と、無視する理由を一緒に定義する方法の例を見てみましょう。 上で説明したように、理由を提供するには、@Ignore アノテーションにオプションのパラメーターが XNUMX つあり、そこに理由ステートメントを指定できます。
JunitTestExample.java
package guru99.junit; import static org.junit.Assert.assertEquals; import org.junit.Ignore; import org.junit.Test; public class JunitTestExample { public String message = "Guru99"; JUnitMessage junitMessage = new JUnitMessage(message); @Ignore("not yet ready , Please ignore.") @Test public void testJUnitMessage() { System.out.println("Junit Message is printing "); assertEquals(message, junitMessage.printMessage()); } @Test public void testJUnitHiMessage() { message="Hi!" +message; System.out.println("Junit Hi Message is printing "); assertEquals(message, junitMessage.printHiMessage()); } }
出力:
同上。
@Ignore アノテーションを使用してすべてのテスト メソッドを無視します。
上で説明したように、クラス内のすべてのテストを無視するには、クラス レベルで @Ignore アノテーションを使用する必要があります。
すべてのテストを無視する方法を理解するために、上の例を変更してみましょう。
package guru99.junit; import static org.junit.Assert.assertEquals; import org.junit.Ignore; import org.junit.Test; @Ignore public class JunitTestExample { public String message = "Guru99"; JUnitMessage junitMessage = new JUnitMessage(message); @Test public void testJUnitMessage() { System.out.println("Junit Message is printing "); assertEquals(message, junitMessage.printMessage()); } @Test public void testJUnitHiMessage() { message="Hi!" +message; System.out.println("Junit Hi Message is printing "); assertEquals(message, junitMessage.printHiMessage()); } }
出力:
コンソールにステートメントを出力します。
どちらのテストもクラス レベルで @Ignore を使用することでスキップされたため、コンソールにステートメントは出力されません。
まとめ
このチュートリアルでは、@Ignore アノテーションを使用して単一のテスト、テストのグループ、またはすべてのテストを無視する方法を学びました。
@無視する アノテーションは、以下に示す XNUMX つのシナリオで使用できます。
- テストメソッドを無視したい場合は、@Test アノテーションと一緒に @Ignore を使用します。
- クラスのすべてのテストを無視したい場合は、クラス レベルで @Ignore アノテーションを使用します。
また、特定のテストが無効になっている理由を他の開発者に理解させるためのステートメントを提供する方法も学びました。