Tes Java saya bekerja dengan baik dari Eclipse. Tapi sekarang, ketika saya meluncurkan kembali tes dari menu run, saya mendapatkan pesan berikut:
No tests found with test runner 'JUnit 4'
Di .classpath
file saya memiliki semua jar
file, dan pada akhirnya memiliki:
<classpathentry exported="true" kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Bagaimana cara mengatasi kesalahan ini dan menjalankan pengujian kembali?
Jawaban:
ini baru saja terjadi pada saya. Membangun kembali atau memulai ulang Eclipse tidak membantu.
Saya menyelesaikannya dengan mengganti nama salah satu metode pengujian untuk memulai dengan "test ..." (gaya JUnit3) dan kemudian semua pengujian ditemukan. Saya mengganti namanya kembali seperti sebelumnya, dan masih berfungsi.
sumber
testQuotes
bersama dengan metode lain yang tidak dimulai dengan tes tetapi masih saya tidak mendapatkan kesalahan Tes tidak ditemukanjunit.framework.TestCase
, dan metode saya harus dimulai dengan "tes". Alih-alih memperluasTestCase
, saya menambahkan import:,import static org.junit.Assert.*;
dan saya dapat memberi nama metode saya sesuai keinginan. Aneh ...Ketika kami mendapatkan kesalahan ini, sepertinya Eclipse hanya bingung. Mulai ulang Eclipse, segarkan proyek, bersihkan, biarkan Eclipse membangunnya kembali, dan coba lagi. Sering kali itu berfungsi seperti pesona.
sumber
Dalam menu konteks direktori 'test' Anda, pilih 'Build path' -> 'Use as a source folder'. Eclipse akan melihat file unitTests.java Anda sebagai file sumber. Peringatan 'Tidak ada pengujian JUnit yang ditemukan' terjadi karena tidak ada file unitTests.class di direktori 'build' Anda
sumber
Periksa apakah kelas pengujian Anda memperluas "TestCase". jika demikian, hapus klausul tersebut. Kelas Anda tidak perlu diturunkan dari kelas "TestCase". Itu sebagian besar kasus yang pernah saya temui.
Mengikuti TestCase seharusnya baik-baik saja.
sumber
Saya menghadapi masalah yang sama dan saya men-debugnya ke contoh buruk di web dan internal junit. Pada dasarnya jangan membuat kelas Anda memperpanjang TestCase seperti yang ditunjukkan beberapa contoh untuk Junit 4.x. Gunakan beberapa Test konvensi penamaan atau jika Anda ingin memiliki anotasi, Anda dapat menggunakan @RunWith (JUnit4.class).
Jika Anda memerlukan akses ke metode assert, perluas Assert atau gunakan impor statis.
Jika kelas Anda memperluas TestCase maka meskipun Anda menggunakan Junit 4 Runner itu akan dijalankan sebagai 3. Ini karena dalam kode inisialisasi terdapat deteksi:
Lihat JUnit3Builder dan baris:
Ini mengembalikan nilai true dan pengujian kompatibilitas junit4 tidak akan dicoba.
sumber
@RunWith(JUnit4)
dan diperpanjang dari "GroovyTestCase". Tanpa@RunWith(JUnit4)
saya menghadapi masalah yang sama.Coba Tambahkan
@Test di atas metode untuk tes seperti ini
sumber
Namun solusi lain yang mungkin saya akan lemparkan ke dalam ring: Saya tidak dapat menjalankan kelas pengujian baik dari jendela editor, maupun dari Package Explorer, tetapi mengklik kanan pada nama kelas di tampilan Outline dan memilih Run As JUnit Tes berhasil ... Pergi!
sumber
Tidak ada testsuits di JUnit4. Gunakan anotasi atau gunakan konvensi nama JUnit3 lama.
Contoh:
sumber
Ini terjadi pada saya juga. Saya mencoba memulai ulang Eclipse dan juga mengawali metode pengujian saya dengan pengujian. Tidak ada yang berhasil.
Langkah berikut berhasil: Ubah semua metode pengujian Anda yang ada di @BeforeClass dan @AfterClass ke metode statis.
yaitu jika Anda memiliki metode pengujian dalam format di bawah ini:
lalu ubah menjadi:
Ini berhasil untuk saya.
sumber
Saya telah menemukan jawabannya:
Saya mendapat kesalahan ini ketika saya menjalankan tes mandiri dari eclipse (klik kanan pada metode dan pilih untuk menjalankan sebagai tes junit),
Ketika saya mengeksekusi kelas lengkap sebagai tes junit, tes dijalankan dengan benar dengan parameter.
sumber
Ketika saya menghadapi masalah ini, saya hanya mengedit file dan menyimpannya ... berfungsi seperti pesona
sumber
Masalah saya adalah bahwa pernyataan tersebut
import org.junit.Test;
telah hilang (atau tidak ditambahkan?). Setelah menambahkannya, saya harus menghapusimport
deklarasi lain (Eclipse akan mengisyaratkan Anda yang mana) dan semuanya mulai berfungsi lagi.sumber
Sangat terlambat tetapi yang memecahkan masalah bagi saya adalah bahwa nama metode pengujian saya semuanya dimulai dengan huruf kapital: "Uji void publik". Membuat huruf kecil t berhasil.
sumber
Saya mencoba solusi dari Germán. Ini bekerja untuk semua metode dari kelas saya tetapi saya memiliki banyak kelas dalam proyek saya.
Jadi saya mencoba menghapus dari jalur build dan kemudian menambahkannya kembali. Ini bekerja dengan sempurna.
Semoga membantu.
sumber
Enam tahun kemudian ... dan masih ada masalah dengan Eclipse dan terkadang tidak menemukan JUnits.
Di Eclipse Mars 2 saya, saya menemukan bahwa itu tidak akan mengenali kelas uji yang ditarik dari git jika ada lebih dari 9 atau 10
@Test
anotasi dalam file. Saya perlu mengomentari tes tambahan apa pun, menjalankan kelas pengujian, lalu menghapus komentar dan menjalankan kembali kelas tersebut. Pergi gambar ...sumber
Mungkin konfigurasi peluncuran JUnit Anda adalah untuk kelas pengujian individu, dan Anda entah bagaimana mengubah konfigurasi itu menjadi "menjalankan semua pengujian dalam folder sumber, paket, atau proyek"
Tapi itu bisa memicu pesan kesalahan "Tidak ditemukan pengujian dengan runner pengujian 'JUnit 4'".
Atau Anda melakukan modifikasi di kelas pengujian Anda, menghapus
@Test
anotasi.Lihat halaman wiki ini .
sumber
toto.lolo.Testrunner
dan bukantoto.lolo.testrunner
('T')Saya juga menghadapi masalah yang sama saat menjalankan uji JUnit. Saya menyelesaikan ini dengan meletakkan anotasi @Test tepat di atas fungsi pengujian utama.
sumber
Apa yang memperbaiki kasus saya mirip dengan jawaban @ JamesG: Saya memulai ulang Eclipse, membangun kembali proyek, dan menyegarkannya; TAPI sebelum saya melakukan semua itu, saya terlebih dahulu menutup proyek (proyek klik kanan di penjelajah paket -> Tutup Proyek) dan kemudian membukanya kembali. Kemudian berhasil.
Solusi solusi yang saya temukan sebelum menemukan solusi pamungkas yang baru saja saya jelaskan: Salin kelas pengujian, dan jalankan kelas pengujian sebagai JUnit.
sumber
Periksa apakah folder tempat pengujian Anda adalah folder sumber. Jika tidak - klik kanan dan gunakan sebagai folder sumber.
sumber
Tutup dan buka proyek yang berhasil untuk saya.
sumber
Ada kemungkinan lain, Anda mungkin telah mengubah Junit Test dari versi yang lebih rendah (misalnya Junit 3) menjadi Junit 4. Jadi ikuti langkah-langkah di bawah ini: -
sumber
Tambahkan
@Test
di atas tes Anda.Arahkan mouse ke anotasi.
Pilih 'tambahkan junit 4 perpustakaan ke jalur kelas'
sumber
Apakah pakar proyek Eclipse Anda berbasis? Jika demikian, Anda mungkin perlu memperbarui versi m2eclipse.
Dari sini: http://nuin.blogspot.com/2009/07/m2eclipse-and-junit4-no-tests-found.html
sumber
Ini juga terjadi pada saya. Saya menemukan bahwa di Eclipse saya tidak membuat file Java Class baru dan karena itu tidak dapat dikompilasi. Coba salin kode Anda ke dalam file kelas java jika belum ada, lalu kompilasi.
sumber
Saya menemukan bahwa Eclipse tampaknya hanya melakukan tes gaya JUnit 3 jika kelas pengujian Anda diperluas
TestCase
. Jika Anda menghapus warisan, anotasi berfungsi untuk saya.Berhati-hatilah karena Anda perlu mengimpor secara statis semua
assert*
metode yang diperlukan sepertiimport static org.junit.Assert.*
.sumber
Saya harus melakukan mvn bersih pada baris perintah lalu proyek-> bersihkan di gerhana. Saya mengganti nama kelas sebelumnya kemudian menamainya kembali tetapi saya ragu itu membantu.
sumber
Saya juga menjalankan Eclipse dengan Maven (m2e 1.4). Tes dijalankan dengan Maven, tetapi tidak dengan Eclipse ... bahkan setelah beberapa aplikasi
Maven>Update project
.Solusi saya adalah menambahkan beberapa baris di .classpath yang dihasilkan oleh m2e. Garis-garis itu sekarang menempel.
sumber
Saya memiliki masalah ini dari waktu ke waktu. Hal yang paling menyelesaikan masalah bagi saya adalah menjalankan pengujian JUnit dari konfigurasi Run ... memastikan bahwa JUnit 4 disetel sebagai runner pengujian.
Secara umum, saya melihat masalah ini saat mencoba Jalankan Sebagai ... uji Junit dari menu konteks di Package Explorer. Jika Anda mengklik kanan kode untuk pengujian yang Anda coba jalankan dan alih-alih memilih Run As ... Junit Test, Anda memilih Run configurations ... pastikan Project, Test Class, dan test runner disetel dengan benar, klik terapkan, lalu jalankan bekerja sepanjang waktu untuk saya.
sumber
Saya mulai bekerja dengan Selenium dan Eclipse dalam pekerjaan saya dan saya melakukan pengujian otomatis pertama saya dan saya menghapus dari kode @Before, @Test, dan @After notes dan saya mengalami masalah ini "Tidak ada pengujian yang ditemukan dengan pelari uji junit4" .
Solusi saya hanya dengan menambahkan lagi catatan @Before, @Test dan @After dan dengan itu skrip saya berfungsi. Penting untuk tidak menghapus ini dari kode.
Ini adalah tes sederhana yang menggunakan Google untuk mencari sesuatu:
sumber
Menggunakan ScalaIDE (3.0.4-2.11-20140723-2253-typesafe) Saya mengalami masalah serupa dengan
Right Click Scala Test Class-> Run As -> Scala Junit Test
menu konteks.Saya mencoba mengedit kelas (tetapi tidak untuk kegagalan kompilasi), membersihkan, menutup proyek, menutup Eclipse. Tak satu pun dari mereka yang bekerja untuk memulihkan menu konteks untuk kelas yang sebelumnya bekerja dengan baik. Kelas pengujian tidak menggunakan
@Test
anotasi dan sebaliknya menggunakan@RunWith(classOf[JUnitRunner])
anotasi di bagian atas kelas menggunakan kode ScalaTest.Ketika saya mencoba memilih
Scala Junit Test
dari editor peluncuran Jalankan Konfigurasi secara langsung, saya menerima dialog dari pertanyaan. Jawaban Footix29 adalah kuncinya bagi saya.Saya perhatikan bahwa meskipun saya telah membersihkan proyek saya beberapa kali, kelas saya di direktori / bin belum benar-benar dibangun kembali dalam beberapa waktu.
Begini cara saya mendapatkan kembali menu konteks, dan dapat menjalankan kembali
Scala Junit Test
s:manually
membersihkan kelas dengan menghapus/bin/<package dir>*
via ExplorerProject -> Clean
ed proyek bersama dengan pembangunan kembali penuhSaya menduga bahwa pengeditan kelas secara umum dapat membersihkan beberapa status Eclipse yang disimpan dan menjalankannya lagi. Dalam kasus saya, semua kelas pekerja yang saya coba sebelumnya telah gagal sehingga
manual
langkah bersih hanyalah palu yang saya butuhkan. Namun, trik lain yang memengaruhi konsep Eclipse tentang jalur kelas / status build juga harus berfungsi.Lebih lanjut, saya pikir perilaku ini dipicu sebagian dengan mencoba merefaktor kelas Scala dengan mengganti namanya (yang disebalkan oleh Scala Eclipse IDE), di mana semua pembersihan setelah perubahan file awal dilakukan secara manual. Tidak ada kesalahan versi, tetapi juga tidak ada peringatan yang saya harapkan yang berarti ada sesuatu yang pasti macet di info status pembuatan Eclipse.
sumber