Impor org.junit tidak dapat diselesaikan

114

Saya perlu memecahkan masalah java untuk wawancara, dan mereka mengirimi saya kelas tes. Ini dimulai dengan

import org.junit.Before;

dan juga memiliki sintaks berikut di tempat:

@RunWith(JUnit4.class)
...
@Before
...
@Test

Saya sudah lama tidak menggunakan Java jadi ini sedikit membingungkan saya. Saya mengunduh eclipse dan ketika saya mencoba untuk mengkompilasi file tes ini ada kesalahan saat mengimpor dan pada tanda @. Kesalahan impor melempar:

The import org.junit cannot be resolved.

Dan @RunWith bahkan tidak dikenali karena mencoba menyelesaikannya menjadi suatu tipe.

SKLAK
sumber
1
Apa yang Anda cari di internet? Anda ingin kami memberikan penjelasan mendetail tentang cara menjalankan kasus uji JUnit 4? (Petunjuk: ada ini JUnit4.classdi kode Anda)
Luiggi Mendoza
1
Anda perlu menambahkan file jar junit ke proyek. Anda dapat menggunakan junit-dep-4.8.2.jar. Kemudian Anda dapat mengklik kanan dan memilih run as junit test case
Krushna
2
Sudahkah Anda menambahkan file jar jUnit ke jalur build Anda di eclipse?
Pradeep Simha
Baru saja melakukannya, saya seharusnya mencari pertanyaan ini di Google saja. Terima kasih untuk bantuannya.
SKLAK

Jawaban:

192

Anda perlu menambahkan junitperpustakaan ke jalur kelas proyek Anda. Ada beberapa pilihan untuk mencapainya tergantung pada pengaturan pengembangan Anda.

  1. Baris perintah : Dalam kasus pemanggilan baris perintah, Anda harus menambahkan junit.jarke jalur kelas aplikasi Anda dengan java -cp /path/to/junit.jar. Simak jawabannya di sini .

  2. Menggunakan eclipse : Distribusi Eclipse dibundel dengan pustaka ini dan inilah cara Anda menggunakannya untuk proyek Anda. Klik kanan pada proyek gerhana dan navigasikan:

Properties -> Java Build Path -> Libraries -> Add Library -> JUnit -> Junit 3/4

Dalam skenario di mana Anda ingin menggunakan versi jar yang berbeda, daripada mengklik Add Library di atas, Anda harus mengklik Add External Jar dan cari library tersebut pada sistem file.

hthserhs
sumber
1
@NishantShreshth bagaimana menambahkan ini dalam sebuah mavenproyek?
Kasun Siyambalapitiya
Saya menambahkan JUnit 4 melalui Properties -> Java Build Path, tetapi kadang-kadang Eclipse masih menunjukkan kesalahan ini kepada saya, meskipun menjalankan tes dimungkinkan tanpa masalah. Memulai ulang Eclipse menyelesaikan masalah - untuk sementara waktu. Ada penjelasan untuk ini?
Thomas W
Tidak bekerja untuk saya. Segera setelah proyeknya modular, semua tombol di tab Perpustakaan berwarna abu-abu. (Dengan gerhana 2019-09 dan java 11.0.4).
Gyro Gearloose
14

Klik kanan pada proyek gerhana dan navigasikan:

Properties -> Java Build Path -> Libraries -> Add Library -> JUnit -> Junit 3/4

Ini bekerja pada saya.

maju cepat
sumber
6

Anda dapat dengan mudah mencari baris seperti "@Test" dan kemudian menggunakan quickfix "tambahkan library junit 4 ke jalur build" di baris ini. Saya rasa ini lebih cepat daripada menambahkan junit secara manual ke proyek.

anion
sumber
Ini tidak menyelesaikannya dalam situasi saya. JUnit berada di jalur yang tepat tetapi terus menunjukkan kesalahan.
猫 ITU
1
Bekerja untuk saya ^^
jumping_monkey
6

Jika Anda menggunakan maven dan potongan kode ini terletak di mainfolder, coba pindahkan ke testfolder.

Searene
sumber
3
@VigneshrajSekarbabu Karena biasanya orang mengatur junitscope sebagai test, yang artinya mereka hanya akan bekerja di folder test.
Searene
Terima kasih @searene .. Saya mencoba untuk memiliki TestBase di src / main / java tetapi kemudian tidak bisa mendapatkan anotasi testNG. jadi pindah ke src / test / java. Tapi sekarang, saya mencoba membuat RetryAnalyzer di src / main / java dan IRetrAnalyzer ada di org.testng yang tidak bisa saya dapatkan di kelas src / main / java. tahu apa yang bisa menyelesaikan ini?
Vigneshraj Sekarbabu
@VigneshrajSekarbabu Salah satu caranya adalah dengan memeriksa cakupan dependensi terkait pengujian, pastikan tidak test, sehingga Anda dapat menggunakan semua yang ada di dalamnya /src/main/java.
Searene
5

Jika Anda menggunakan eclipse dan mengerjakan proyek maven, maka langkah-langkah di atas juga berhasil.

Klik kanan pada folder root Anda.

Properties -> Java Build Path -> Libraries -> Add Library -> JUnit -> Junit 3/4

Petunjuk Langkah Demi Langkah di sini

sarthakgupta072
sumber
Bagi saya ini hanya berhasil. Saya melakukan debugging jarak jauh pada aplikasi web saya, jadi gerhana mengalami beberapa masalah dengan mengintegrasikan junit. Berkenaan dengan maven, yes maven mengimpor junit dan akan menjalankan pengujian ketika kita akan menjalankan mvn clean install. Bukan seorang ahli, tapi inilah yang menurut saya terjadi atau setidaknya terjadi dengan saya.
sarthakgupta072
2

Tampaknya file jar Junit tidak ada di jalur juga pastikan Anda menggunakan jdk1.5 atau lebih tinggi.

zaffargachal.dll
sumber
Bukan hanya jar, OP harus menjalankannya sebagai pengujian JUnit (mungkin OP akan menanyakan cara menjalankan kelas Java jika tidak memilikipublic static void main(String[] args)
Luiggi Mendoza
Tidak tahu cara menautkan JUnit. Saya menemukan jawabannya. Klik kanan nama proyek, dan tautkan JUnit. Terima kasih.
SKLAK
2

Jika Anda menggunakan Java 9 atau yang lebih baru, Anda mungkin perlu memerlukan ketergantungan junit di module-info.java Anda

module myModule {
    requires junit;
}
janDro
sumber
Saya cukup yakin masalah yang saya hadapi yang sama dengan pertanyaan awal terkait dengan mekanisme modul baru ini. Sekarang saya menambahkan baris ini ke module-info.java yang ada dan tidak ada lagi tanda silang merah di penjelajah paket tetapi di sumber semuanya tetap sama.
猫 IT
2

Jika menggunakan Maven Anda dapat mengklik konteks dan menjalankan 'Maven / Perbarui Proyek ...'

masukkan deskripsi gambar di sini

Jim
sumber
Ketika saya melakukan ini, module-info.java diisi dengan kesalahan dan lambda tidak dikenali. Eclipse / maven telah mengembalikan library dan versi java ke 1.5, dan saya memiliki <plugin> <groupId> org.apache.maven.plugins </groupId> <artifactId> maven-compiler-plugin </artifactId> <version> 3.8 .0 </version> <configuration> <release> 11 </release> </configuration> </plugin> di pom saya
Gyro Gearloose
1

Di baris kode awal, salin melewati elemen 'Junit' atau 'TestNG' akan ditampilkan dengan Error sampai Anda mengimpor pustaka dengan File Proyek.

Untuk mengimpor Perpustakaan ke proyek:

Right Click on the Project --> Properties --> Java Build Path --> Libraries -> Add Library -> 'Junit' or 'TestNG'

Tambahkan Perpustakaan Junit

oshan Viduranga
sumber
1

Saat Anda menambahkan TestNG ke dependensi Maven Anda, Ubah cakupan dari pengujian menjadi kompilasi. Semoga ini bisa menyelesaikan masalah Anda ..

Ajay
sumber
Mohon pertimbangkan untuk memberikan saran seperti komentar.
Hades
1

Anda perlu menambahkan ketergantungan Junit di file pom.xml, itu berarti Anda perlu memperbarui dengan versi terbaru.

<dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
    </dependency> 
Veera Reddy
sumber
0

Jika Anda ingin membuat Kelas Tes Anda sendiri. Di Eclipse, buka File -> New -> J Unit Test Case . Anda kemudian dapat memilih semua jalur dan kelas pengujian setup dalam wizard pop-up.

Dharu Ravi
sumber
-1

Perbarui ke versi JUnit terbaru di pom.xml. Ini berhasil untuk saya.

RKM
sumber
jawaban ini akan lebih baik dengan rincian lebih lanjut tentang cara melakukannya - yaitu kode apa yang akan ditempel, cara mengetahui versi terbaru, cara mencari kode secara online untuk mendapatkan teks yang tepat, dll.
LightCC