IntelliJ'de Test Sınıfı Oluşturma


138

IntelliJ içindeki geleneksel Maven Java proje yapısı içinde çalışıyorum, örneğin

main/java/com/x/y
test/java/com/x/y

IntelliJ kullanarak main / java / com / x / y'de Foo adında bir sınıf oluşturduğumda , otomatik olarak test / java / com / x / y'de FooTest.java adlı bir dosya oluşturmak istiyorum .

Eclipse'de araç çubuğunda iskelet test sınıfı oluşturmaya yönelik çalışmanın çoğunu yapacak bir düğme var, IntelliJ'de benzer bir şey bilen var mı?

Teşekkürler,


Testler ve test edilen sınıflar için dizin yapıları uymalıdır. Kolayca nasıl yapacağınız aşağıda açıklanmıştır: stackoverflow.com/a/36057708/715269
Gangnus

Yanıtlar:


256

Git -> Test veya Ctrl+ Shift+ T( Mac'te Shift+ + T) menü seçimini kullanın . Bu, mevcut test sınıfına gidecek veya küçük bir sihirbaz aracılığıyla sizin için oluşturmayı önerecektir.


1
Bir nedenden ötürü projemde, sınıf ve test sınıfı aynı pakette olsa da, Ctrl + Shift + T yaptığımda "Test Sınıfı Bulunamadı" yazıyor. Ayrıca, test dosyasına sağ tıkladığımda, sadece testi derleme seçeneği veriyor, ancak testi çalıştırmıyorum. Herhangi bir fikir?
Glide

1
Andreas'ın diğer sorunuzda yaptığı gibi elimden cevap verirdim . Bir şekilde sınıflarınızın test olduğunu kabul etmiyor.
Jarl

Windows'da hala 12.1.4 ile iyi çalışıyor. Ayarlar Giriş Tuşeşlem bağlar Mainmenu / Git / Testi Ctrl + Shift + T o
Jarl

4
Bir şekilde devre dışı bırakılmış olan JUnit eklentisini yeniden etkinleştirene kadar benim için çalışmadı .
Peter Westmacott

3
Proje penceresinde sınıf seçildiğinde Gezin> Test'in devre dışı bırakıldığına dikkat edilmelidir . Bir editör sekmesinde seçilmelidir.
Kevin Krumwiede

42

Alternatif olarak, imleci sınıf adının üzerine getirebilir ve alt+ enter( Niyet eylemlerini ve hızlı düzeltmeleri göster) tuşuna basabilirsiniz . Test Oluşturmayı önerecektir .

En azından IDEA sürüm 12'de çalışıyor.


Benim için bu en mantıklı seçenek. Sınıf adı ALT + ENTER açılan iyi çalışır "CTRL + ÜST KRKT + T" önceki sekmesini geri "olarak geçersiz kıldım.
Scott Bennett-McLeish

Intellij Idea 2018 üzerinde çalışır.2.
Zon

9

* IntelliJ 13 * (ücretli) ctrl+ Shift+ Tçalışmadan önce imleci gerçek sınıfta bulundurmanız gerektiğini bulduk .

Biraz kısıtlayıcı görünüyorsa, bir test sınıfı oluşturmanın tek yolu budur. Geçmişe bakıldığında, geliştiricileri fonksiyonel bir sınıf yazdıklarında bir test sınıfı oluşturmaya zorlayacaktır.


7

Menü seçimini kullanma Git> Test Et

gif

Kısayollar:

pencereler

Ctrl+ Shift+T

Mac os işletim sistemi

+ Shift+T


4

Bazı insanların sorduğunu görebiliyorum, bu yüzden OSX'te hala gezinmeye devam edebilirsiniz-> test edebilir veya cmd+ shift+ kullanabilirsinizT

Bunun işe yaraması için sınıfa odaklanmanız gerektiğini unutmayın


3
  1. Projeye sağ tıklayın ve yeni-> dizin seçin. Yeni bir dizin oluşturun ve "test" olarak adlandırın.
  2. "Test" klasörüne sağ tıklayın, ardından Dizini Farklı İşaretle-> Test Kaynakları Kökü'nü seçin
  3. Git -> Test-> Yeni Test Oluştur'u
    seçin Test kütüphanesini seçin (JUnit4 veya herhangi biri)
    Sınıf Adını Belirtin
    Üye Seçin

Bu kadar. Dizin yapısını ihtiyaca göre değiştirebiliriz. İyi şanslar!


1
Teşekkür ederim, "Kaynakla aynı kökte testler üretiyor muydum?" Yukarıdakileri denemek, sadece ihtiyacım olan buydu.
jgreve

2

Sanırım ihtiyacınız olan eylemi / komutu bulmak için her zaman Ctrl+ Shift+ ' Ayı deneyebilirsiniz .
Burada Ctrl+ Shift+ tuşuna basmayı Ave komutu bulmak için «test» yazmayı deneyebilirsiniz .


0

Test yöntemlerinden birinde @Test ek açıklamasını kullanın veya jmock kullanıyorsanız test sınıfınıza @RunWith (JMockit.class) ile ek açıklama ekleyin. Intellij bunu test sınıfı olarak tanımlamalı ve navigasyonu etkinleştirmelidir. Ayrıca junit eklentisinin etkin olduğundan emin olun.


0

Sınıf adı bildirimindeki imleç ile ALT + Return yapıyorum ve Intellij 14.1.4'üm 'Test Oluştur' seçeneğiyle bir açılır pencere sunuyor.

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.