JUnit @ Abaikan Ujian Anotasi dengan Contoh

Isi kandungan:

Anonim

Kadang kala anda mungkin tidak memerlukan kaedah / kod atau Uji Kes kerana pengekodan tidak dilakukan sepenuhnya. Untuk ujian tertentu, JUnit menyediakan @ Abaikan anotasi untuk melangkau ujian.

Dalam tutorial ini, anda akan belajar-

  • Apa itu JUnit @ Abaikan anotasi ujian
  • Contoh Ujian Junit - Abaikan
  • Membuat kelas ujian sederhana tanpa mengabaikan ujian
  • Abaikan kaedah ujian menggunakan @ Abaikan anotasi
  • Menggunakan @ abaikan anotasi dengan Syarat
  • Abaikan semua kaedah ujian menggunakan @ Abaikan anotasi.

Apa itu JUnit @ Abaikan anotasi ujian

Anotasi ujian @Ignore digunakan untuk mengabaikan ujian atau kumpulan ujian tertentu untuk melangkau kegagalan binaan.

@ Abaikan anotasi boleh digunakan dalam dua senario seperti yang diberikan di bawah:

  1. Sekiranya anda ingin mengabaikan kaedah ujian, gunakan @Ignore bersama dengan anotasi @Test.
  2. Sekiranya anda ingin mengabaikan semua ujian kelas, gunakan @ Abaikan anotasi di peringkat kelas.

Anda boleh memberikan alasan untuk mematikan ujian dalam parameter pilihan yang disediakan oleh @ Abaikan anotasi.

Ini akan membantu pembangun lain yang menggunakan kod yang sama, untuk memahami "mengapa ujian tertentu dilumpuhkan?" Apabila masalah ujian tertentu diperbaiki, anda boleh mengaktifkannya dengan membuang @ Abaikan anotasi .

Contoh Ujian Junit - Abaikan

Seperti yang dibincangkan dalam definisi di atas, anda boleh menggunakan @ Abaikan anotasi untuk mengabaikan ujian atau kumpulan ujian.

Mari fahami dengan menggunakan contoh mudah dan di bawah senario yang diberikan:

  1. Membuat kelas ujian sederhana tanpa mengabaikan ujian.
  2. Abaikan kaedah ujian menggunakan @ Abaikan anotasi.
  3. Abaikan kaedah ujian menggunakan @ Abaikan anotasi dengan alasan yang betul.
  4. Abaikan semua kaedah ujian menggunakan @ Abaikan anotasi.

Membuat kelas ujian sederhana tanpa mengabaikan ujian

Mari buat kelas Java sederhana yang mencetak dua jenis mesej.

  • Kaedah pertama mencetak pesanan ringkas dan
  • Kaedah kedua mencetak mesej "hi"

JUnitMessage.java

pakej guru99.junit;JUnitMessage kelas awam {mesej String peribadi;JUnitMessage awam (Mesej rentetan) {this.message = mesej;}public String printMessage () {System.out.println (mesej);mesej balik;}public String printHiMessage () {message = "Hai!" + mesej;System.out.println (mesej);mesej balik;}}

JunitTestExample.java

Mari buat kelas ujian JUnit untuk menguji JUnitMessage.java.

Di kelas ujian JUnit ini,

  • Ujian pertama, bernama "testJUnitMessage ()" test "printMessage ()" kaedah kelas di atas.
  • Begitu juga ujian kedua, yang diberi nama "testJUnitHiMessage" test "testJUnitHiMessage" dari kelas di atas.
pakej guru99.junit;import org statik.junit.Assert.assertEquals;import org.junit.Test;kelas awam JunitTestExample {mesej String awam = "Guru99";JUnitMessage junitMessage = JUnitMessage baru (mesej);@ Ujianujian kekosongan awamJUnitMessage () {System.out.println ("Junit Message sedang mencetak");assertEquals (mesej, junitMessage.printMessage ());}@ Ujianujian kekosongan awamJUnitHiMessage () {mesej = "Hai!" + mesej;System.out.println ("Junit Hi Message sedang dicetak");assertEquals (mesej, junitMessage.printHiMessage ());}}

TestRunner.java

Mari buat kelas runner ujian untuk melaksanakan JunitTestExample.java

pakej guru99.junit;import org.junit.runner.JUnitCore;import org.junit.runner.Result;import org.junit.runner.notification.Failure;TestRunner kelas awam {utama kekosongan statik awam (String [] args) {Hasil keputusan = JUnitCore.runClasses (JunitTestExample.class);untuk (Kegagalan gagal: result.getFailures ()) {System.out.println (kegagalan.toString ());}System.out.println ("Hasil ==" + hasil.wasSukses ());}}

Pengeluaran:

Cetak pernyataan di konsol:

Junit Hi Message sedang dicetak

Hai! Guru99

Mesej Junit sedang dicetak

Guru99

Abaikan kaedah ujian menggunakan @ Abaikan anotasi

Mari buat ujian abaikan untuk mematikan ujian dalam contoh di atas. Untuk ini, anda perlu menggunakan @ Abaikan dalam kaedah, anda mahu melangkau.

Mari lakukan untuk testJUnitMessage () JunitTestExample.java

JunitTestExample.java

pakej guru99.junit;import org statik.junit.Assert.assertEquals;import org.junit. Abaikan;import org.junit.Test;kelas awam JunitTestExample {mesej String awam = "Guru99";JUnitMessage junitMessage = JUnitMessage baru (mesej);@Abai@ Ujianujian kekosongan awamJUnitMessage () {System.out.println ("Junit Message sedang mencetak");assertEquals (mesej, junitMessage.printMessage ());}@ Ujianujian kekosongan awamJUnitHiMessage () {mesej = "Hai!" + mesej;System.out.println ("Junit Hi Message sedang dicetak");assertEquals (mesej, junitMessage.printHiMessage ());}}

Pengeluaran:

Mari kita laksanakan dan sahkan output contoh di atas.

Di bawah output menunjukkan bahawa satu ujian dilangkau (dinonaktifkan), lihat seperti yang ditandai di bawah:

Cetak pernyataan di konsol:

Junit Hi Message sedang dicetak

Hai! Guru99

Menggunakan @ abaikan anotasi dengan Syarat

Mari kita ambil contoh bagaimana mengabaikan ujian dan menentukan alasan untuk mengabaikannya. Seperti yang dibincangkan di atas, untuk memberikan alasan anda mempunyai satu parameter pilihan dalam @ Abaikan anotasi di mana anda dapat memberikan pernyataan alasan.

JunitTestExample.java

pakej guru99.junit;import org statik.junit.Assert.assertEquals;import org.junit. Abaikan;import org.junit.Test;kelas awam JunitTestExample {mesej String awam = "Guru99";JUnitMessage junitMessage = JUnitMessage baru (mesej);@ Abaikan ("belum siap, Abaikan.")@ Ujianujian kekosongan awamJUnitMessage () {System.out.println ("Junit Message sedang mencetak");assertEquals (mesej, junitMessage.printMessage ());}@ Ujianujian kekosongan awamJUnitHiMessage () {mesej = "Hai!" + mesej;System.out.println ("Junit Hi Message sedang dicetak");assertEquals (mesej, junitMessage.printHiMessage ());}}

Pengeluaran:

Sama seperti di atas.

Abaikan semua kaedah ujian menggunakan @ Abaikan anotasi.

Seperti yang dibincangkan di atas untuk mengabaikan semua ujian di kelas, anda perlu menggunakan @ Abaikan anotasi di peringkat kelas.

Mari ubah contoh di atas untuk memahami bagaimana mengabaikan semua ujian:

pakej guru99.junit;import org statik.junit.Assert.assertEquals;import org.junit. Abaikan;import org.junit.Test;@Abaikelas awam JunitTestExample {mesej String awam = "Guru99";JUnitMessage junitMessage = JUnitMessage baru (mesej);@ Ujianujian kekosongan awamJUnitMessage () {System.out.println ("Junit Message sedang mencetak");assertEquals (mesej, junitMessage.printMessage ());}@ Ujianujian kekosongan awamJUnitHiMessage () {mesej = "Hai!" + mesej;System.out.println ("Junit Hi Message sedang dicetak");assertEquals (mesej, junitMessage.printHiMessage ());}}

Pengeluaran :

Cetak pernyataan di konsol:

Oleh kerana kedua-dua ujian dilangkau dengan menggunakan @ Abaikan di peringkat kelas sehingga tidak ada pernyataan yang akan dicetak di konsol.

Ringkasan:

Dalam tutorial ini, anda belajar bagaimana mengabaikan satu ujian, kumpulan ujian atau semua ujian dengan menggunakan @ Abaikan anotasi.

@ Abaikan anotasi boleh digunakan dalam dua senario seperti yang diberikan di bawah:

  1. Sekiranya anda ingin mengabaikan kaedah ujian, gunakan @Ignore bersama dengan anotasi @Test.
  2. Sekiranya anda ingin mengabaikan semua ujian kelas, gunakan @ Abaikan anotasi di peringkat kelas.

Anda juga belajar bagaimana memberikan pernyataan untuk memahami pemaju lain, mengapa ujian tertentu dilumpuhkan.