Import org.junit çözülemiyor


114

Bir röportaj için java problemini çözmem gerekiyor ve bana test sınıfını gönderdiler. İle başlar

import org.junit.Before;

ve ayrıca yerlerde aşağıdaki sözdizimi vardır:

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

Java'yı bir süredir kullanmadığım için bu biraz kafamı karıştırıyor. Eclipse'i indirdim ve bu test dosyasını derlemeye çalıştığımda içe aktarmada ve @ işaretlerinde hatalar var. İçe aktarma hatası şunları verir:

The import org.junit cannot be resolved.

Ve @RunWith bile tanınmıyor çünkü onu bir türe dönüştürmeye çalışıyor.


1
İnternette ne aradınız? JUnit 4 test senaryosunu nasıl çalıştırabileceğiniz konusunda size ayrıntılı bir açıklama yapmamızı ister misiniz? (İpucu: bu JUnit4.classkodunuzda var)
Luiggi Mendoza


1
projeye junit jar dosyası eklemeniz gerekiyor. Junit-dep-4.8.2.jar'ı kullanabilirsiniz. Ardından sağ tıklayıp Junit test vakası olarak çalıştır'ı seçebilirsiniz
Krushna

2
Tutulma sırasında inşa yolunuza jUnit'in jar dosyasını eklediniz mi?
Pradeep Simha

Sadece yaptım, bu soruyu Google'da araştırmalıydım. Yardım için teşekkürler.
SKLAK

Yanıtlar:


192

junitProjenizin sınıf yoluna kitaplık eklemeniz gerekir . Geliştirme kurulumunuza bağlı olarak bunu başarmak için birkaç seçenek vardır.

  1. Komut satırı : Komut satırı çağrılarında, junit.jaruygulamanızın sınıf yoluna ile eklemeniz gerekecektir java -cp /path/to/junit.jar. Cevaplara buradan bir göz atın .

  2. Kullanılması Tutulma : Eclipse dağılımları bu kütüphane ile birlikte ve bu projeniz için kullanabilirsiniz nasıl. Eclipse projesine sağ tıklayın ve gezinin:

Özellikler -> Java Derleme Yolu -> Kitaplıklar -> Kitaplık Ekle -> JUnit -> Junit 3/4

Jar'ın farklı bir sürümünü kullanmak istediğiniz senaryolarda, yukarıdaki Kitaplık Ekle'ye tıklamak yerine Harici Kavanoz Ekle'ye tıklamanız ve kitaplığı dosya sistemi üzerinde bulmanız gerekir .


1
@NishantShreshth bunu bir mavenprojeye nasıl ekleyebilirim ?
Kasun Siyambalapitiya

JUnit 4'ü Özellikler -> Java Derleme Yolu üzerinden ekledim, ancak ara sıra Eclipse bu hatayı gösteriyor, ancak testleri sorunsuz çalıştırmak mümkün. Eclipse'i yeniden başlatmak sorunu bir süreliğine çözer. Bunun için herhangi bir açıklama var mı?
Thomas W

Benim için çalışmıyor. Proje modüler hale gelir gelmez Kitaplıklar sekmesindeki tüm düğmeler gri renktedir. (Tutulma 2019-09 ve java 11.0.4 ile).
Gyro Gearloose

14

Eclipse projesine sağ tıklayın ve gezinin:

Özellikler -> Java Derleme Yolu -> Kitaplıklar -> Kitaplık Ekle -> JUnit -> Junit 3/4

Benimkinde çalışıyor.


6

"@Test" gibi bir satırı kolayca arayabilir ve ardından bu satırda "build yoluna junit 4 kütüphanesi ekle" quickfix'i kullanabilirsiniz. Bunun projeye manuel olarak junit eklemekten daha hızlı olduğunu düşünüyorum.


Bu benim durumumda onu çözmez. JUnit yolunda mükemmel ama hatayı göstermeye devam ediyor.

1
Benim için çalışıyor ^^
jumping_monkey

6

Maven kullanıyorsanız ve bu kod parçası mainklasörde bulunuyorsa, onu testklasöre yeniden yerleştirmeyi deneyin .


3
@VigneshrajSekarbabu Çünkü insanlar junitkapsamını genellikle olarak ayarlar test, yani yalnızca test klasöründe çalışırlar.
Searene

Teşekkürler @searene .. TestBase'imi src / main / java'da kullanmaya çalıştım, ancak daha sonra testNG ek açıklamalarını alamadım. böylece src / test / java'ya taşındı. Ama şimdi, src / main / java'da bir RetryAnalyzer oluşturmaya çalışıyorum ve IRetrAnalyzer, src / main / java sınıflarında alamadığım org.testng'de. bunu ne çözebilir bir fikriniz var mı?
Vigneshraj Sekarbabu

@VigneshrajSekarbabu Bunun bir yolu, testle ilgili bağımlılıklarınızın kapsamını kontrol etmektir, olmadıklarından emin olmak test, böylece içindeki her şeyi kullanabilirsiniz /src/main/java.
Searene

5

Tutulma kullanıyorsanız ve bir maven projesi üzerinde çalışıyorsanız, yukarıdaki adımlar da işe yarar.

Kök klasörünüze sağ tıklayın.

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

Adım Adım Talimatlar burada


Benim için bu sadece çalıştı. Web uygulamamda uzaktan hata ayıklama yapıyordum, bu nedenle tutulmanın junit'i entegre etmede bazı sorunları vardı. Maven ile ilgili olarak, yes maven junit'i içe aktarır ve mvn clean install'ı çalıştırdığımızda testleri çalıştırır. Uzman değilim, ama en azından benim başıma gelen şey bu.
sarthakgupta072

2

Görünüşe göre Junit jar dosyası yolda değil, jdk1.5 veya üstünü kullandığınızdan emin olun.


Yalnızca kavanoz değil, OP onu bir JUnit testi olarak çalıştırmalıdır (belki OP, Java sınıfının birpublic static void main(String[] args)
Luiggi Mendoza

JUnit'i nasıl bağlayacağımı bilmiyordum. Bunu anladım. Proje adına sağ tıklayın ve JUnit'i bağlayın. Teşekkürler.
SKLAK

2

Java 9 veya üstünü kullanıyorsanız, module-info.java dosyanızda junit bağımlılığına ihtiyaç duymanız gerekebilir.

module myModule {
    requires junit;
}

Orijinal soruyla aynı olan karşılaştığım sorunun bu yeni modül mekanizmasına bağlı olduğundan oldukça eminim. Şimdi bu satırı mevcut module-info.java'ma ekledim ve paket gezgininde artık kırmızı çarpı yok ama kaynakta her şey aynı kalıyor.

2

Maven kullanıyorsanız, bağlam tıklayıp 'Maven / Update Project ...' öğesini çalıştırabilirsiniz.

görüntü açıklamasını buraya girin


Bunu yaptığımda module-info.java hatalarla doluyor ve lambdalar tanınmıyor. Eclipse / maven, kitaplığı ve java sürümünü 1.5'e döndürdü ve bende <plugin> <groupId> org.apache.maven.plugins </groupId> <artifactId> maven-compiler-plugin </artifactId> <version> 3.8 var .0 </version> <configuration> <release> 11 </release> </configuration> </plugin> pomumda
Gyro Gearloose

1

Kod satırı kopyalamaya başlarken, 'Junit' veya 'TestNG' öğelerini geçen kopyalar, siz kitaplığı Proje Dosyası ile içe aktarana kadar Hata ile gösterilecektir.

Kitaplıkları projeye aktarmak için:

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

Junit Kitaplıkları Ekle


1

Maven bağımlılıklarınıza TestNG eklediğinizde, kapsamı testten derlemeye değiştirin.Umarım bu, sorununuzu çözer ..


Lütfen bu tür önerileri yorum olarak yazmayı düşünün.
Hades

1

pom.xml dosyasına Junit bağımlılığı eklemeniz gerekiyor, bu, en son sürümle güncellemeniz gerektiği anlamına geliyor.

<dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
    </dependency> 

0

Kendi Test Sınıfınızı oluşturmak istemeniz durumunda. Eclipse'de File -> New -> J Unit Test Case'e gidin . Ardından, sihirbaz açılır penceresinden tüm yollarınızı seçebilir ve sınıf kurulumunu test edebilirsiniz.


-2

Pom.xml'deki en son JUnit sürümüne güncelleyin. Benim için çalışıyor.


bu cevap, bunun nasıl yapılacağına dair daha fazla ayrıntıyla daha iyi olacaktır - yani hangi kodun yapıştırılacağı, en son sürümün nasıl bulunacağı, doğru metni almak için çevrimiçi kodun nasıl
aranacağı
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.