JUnit çerçevesi 2 Assertsınıf içerir (açıkçası farklı paketlerde) ve her birindeki yöntemler çok benzer görünmektedir. Bunun neden olduğunu açıklayan var mı?
Bahsettiğim sınıflar: junit.framework.Assertve org.junit.Assert.
JUnit çerçevesi 2 Assertsınıf içerir (açıkçası farklı paketlerde) ve her birindeki yöntemler çok benzer görünmektedir. Bunun neden olduğunu açıklayan var mı?
Bahsettiğim sınıflar: junit.framework.Assertve org.junit.Assert.
Yanıtlar:
Eski yöntem (JUnit 3'ün) test sınıflarını genişleterek işaretlemekti junit.framework.TestCase. junit.framework.AssertKendisi ve test sınıfınız kalıtsal yöntemleri bu şekilde çağırma becerisi kazandı.
JUnit'in 4. sürümünden bu yana, çerçeve Annotationsişaretleme testleri için kullanılır. Bu yüzden artık genişletmenize gerek yok TestCase. Ancak bu, iddia yöntemleri kullanılamadığı anlamına gelir. Ancak yeni Assertsınıfın statik olarak içe aktarılmasını sağlayabilirsiniz . Bu yüzden yeni sınıftaki tüm onay yöntemleri statik yöntemlerdir. Böylece şu şekilde içe aktarabilirsiniz:
import static org.junit.Assert.*;
Bu statik içe aktarmadan sonra, önek olmadan bu yöntemleri kullanabilirsiniz.
Yeniden tasarımda ayrıca org.junit, paket adlandırma için normal kuralları daha iyi takip eden yeni pakete taşındılar .
Fonksiyonel bir değişiklik aslında var: org.junit.AssertEğer iki argümanı kullanmak durumunda şikayet edecek assertEquals()olan floatveya doubleederken, junit.framework.Assertsessizce AUTOBOX olacaktır.
Ben kaba bir kaynak kodu karşılaştırma yaptım ve ciddi bir değişiklik yoktur. Çok sayıda yorum eklendi org.junit.Assertve bazı yeniden düzenlemeler yapıldı. Tek değişiklik, karşılaştırmasıdır Arrays. Bazı kod temizleme işlemleri var, ancak (imho) işlevsel bir değişiklik yok .
Android Studio'da (ve IntelliJ'de de), junit.frameworkotomatik olarak içe aktarma teklifinin dışında bırakabilirsiniz .
Kapsamı IDEveya arasında ayarlayabilirsiniz Project. JUnit 3 kullanan projeleriniz yoksa IDE kapsamı içinde güvenle kalabilirsiniz.
Ayar konumu:
Tercihler -> Editör -> Genel -> Otomatik İçe Aktar
junit.framework.*içindeki statik içe aktarma açılır listesinden hariç tutabilirsinizEditor->General->Auto Import->Exclude from Import and Completion.