JUnit Assertions Class, birim testleri yapmanıza izin veren bir dizi statik yöntem içerir. İddialar, JUnit'in temel özelliklerinden biridir. Bu sınıfın elliden fazla farklı yöntemi vardır. Bazı Assertions sınıfı testleri, bir koşul doğruysa başarısız olurken, diğerleri bir koşul yanlışsa başarısız olur.

Assertions sınıfı ayrıca birçok aşırı yüklenmiş yönteme sahiptir. Her onaylama yönteminin en az iki aşırı yüklenmiş yöntemi vardır. Daha popüler Assertions sınıfı yöntemlerinden bazılarını keşfedin ve bunları birim testleri gerçekleştirmek için nasıl kullanacağınızı öğrenin.

AssertEquals Yöntemi

JUnit 5 assertEquals yönteminin ondan fazla varyasyonu vardır. Bu yöntem, daha popüler Assertions sınıfı yöntemlerinden biridir. assertEquals yönteminin bir varyasyonu, beklenen bir değeri ve değerlendirmek istediğiniz işlevi (gerçek değer) alır. İkinci bir ana değişken, ek bir üçüncü argüman alır. Bu, aşağıdaki durumlarda görüntülenecek bir hata mesajıdır: JUnit birim testi başarısız olur.

AssertEquals yönteminin aşırı yüklenmesi, farklı veri türlerinde gerçekleşir. Bazı assertEquals aşırı yükleme yöntemleri delta adlı dördüncü bir argüman alır. Diğer sürümler, hata dizesini, aşağıdaki gibi bir Tedarikçi işlevsel arabirimiyle değiştirir.

instagram viewer
lambda ifadesi.

AssertionsYöntemler Java Sınıfı

paket com.programı;

halka açıksınıfİddialarYöntemler{
halka açıkstatikintMeydan(int sayı){
dönüş sayı * sayı;
}
}

Yukarıdaki AssertionsMethods Java sınıfının square adında tek bir yöntemi vardır. square yöntemi bir tamsayı değeri alır ve karesini döndürür. AssertionsMethods sınıfından kare yöntemini ve gelecekteki herhangi bir yöntemi test etmek için bir JUnit test senaryosu oluşturmanız gerekir.

AssertionsMethodsTest JUnit Test Senaryosu

paket com.programı;

içe aktarmakstatikkuruluş.junit.İtiraz.assetEquals;
içe aktarmakstatikkuruluş.junit.Jüpiter.api.İddialar.*;

içe aktarmakkuruluş.junit.Jüpiter.api.Ölçek;

sınıfİddialarYöntemlerTest{
@Ölçek
geçersiztestKare(){
assertEquals(25, Onaylama Yöntemleri.Meydan(5));
assertEquals (36, AssertionMethods.square (6), "Kare değerleriniz eşleşmedi.");
assertEquals (49, AssertionMethods.square (7), () ->"Kare değerleriniz eşleşmedi.");
}
}

testSquare() yöntemi, square() yöntemini test etmek için assertEquals() öğesinin üç varyasyonunu kullanır. Her bir assertEquals() başarılıdır, çünkü beklenen tüm değerler square() yöntemi tarafından döndürülen gerçek değerlerle eşleşir.

AssertNull Yöntemi

JUnit Assertions sınıfının tam olarak üç assertNull yöntemi vardır. Bu yöntemlerin her biri bir veya daha fazla argüman alır ve verilen nesnenin boş olup olmadığını belirtir. Belirli bir nesne boş değilse, test başarısız olur.

@Ölçek
halka açıkgeçersiztestStringValue(){
Sicim stringValue = hükümsüz;
assertNull (stringValue);
assertNull (stringValue, "Dize değeriniz boş değil");
assertNull (stringValue, () ->"Dize değeriniz boş değil");
}

İlk assertNull() yöntemi, bir dize nesnesi alır ve boş olup olmadığını kontrol eder. İkinci assertNull() yöntemi, test başarısız olursa görüntülenecek bir dize nesnesi ve bir dize mesajı alır. Üçüncü ve son assertNull() yöntemi, değerlendirmek istediğiniz nesneyi ve bir Tedarikçi işlevsel arabirimini alır.

Yukarıdaki test durumunda, Tedarikçi arayüzü, bir lambda ifadesi için bir atama hedefi görevi görür. Test başarısız olursa lambda ifadesi bir hata mesajı oluşturur.

AssertTrue Yöntemi

assertTrue() yönteminin altı varyasyonu vardır. Her yöntem, belirli bir koşulun doğru olup olmadığını belirtir. Bir assertTrue() koşulu yanlışsa, test başarısız olur.

@Ölçek
geçersiztestEvenNumbers(){
int sayı1 = 10;
int sayı2 = 16;
int sayı3 = 26;
assertTrue (sayı1 < num2);
assertTrue (sayı3 > sayı2, "Durumunuz doğru değil.");
assertTrue (sayı1 < sayı3, () ->" Durumunuz doğru değil.");
assertTrue(() -> num1%2 == 0);
assertTrue(() -> num2%2 == 0, "Değeriniz çift sayı değil.");
assertTrue(() -> num3%2 == 0, () ->"Değeriniz çift sayı değil.");
}

testEvenNumbers() yöntemi, altı assertTrue() yönteminin tümünün nasıl kullanılacağını gösterir. Yukarıdaki tüm yöntemler doğrudur, bu nedenle bu birim testi hatasız veya hatasız yürütülür.

  • assertTrue (Boole koşulu): Bu yöntem bir Boole koşulu alır ve doğru olup olmadığını belirtir. Yukarıdaki koddaki bu yöntemin örneği, ilk tamsayı değerinin ikinciden küçük olup olmadığını belirtir.
  • assertTrue (Boole koşulu, Dize mesajı): Bu yöntem, test etmek için bir Boole koşulu ve yanlışsa görüntülemek için bir dize alır.
  • assertTrue (Boole koşulu, Tedarikçi messageSupplier): bu yöntem, bir lambda ifadesi olarak bir Boolean ve bir Tedarikçi işlevsel arabirimi alır. İleti tedarikçisi, Boole koşulunun yanlış olup olmadığını görüntüleyecek bir dize içerir.
  • assertTrue (BooleanSupplier booleanSupplier): bu yöntem, doğru veya yanlış olarak değerlendirilen bir lambda ifadesi biçiminde bir BooleanSupplier işlevsel arabirimi alır. Koddaki bu yöntemin örneği bir lambda ifadesi kullanır. Çift veya tek olup olmadığını belirlemek için ilk tamsayının ikiye bölümünden kalanını test eder.
  • assertTrue (BooleanSupplier booleanSupplier, String iletisi): bu yöntem, bir lambda ifadesi biçiminde bir BooleanSupplier işlevsel arabirimi alır. BooleanSupier doğru değilse, yazdırmak için bir dize mesajı da alır.
  • assertTrue (BooleanTedarikçi booleanTedarikçi, Tedarikçi messageSupplier): Bu yöntem, iddia etmek için bir BooleanSupplier işlevsel arabirimi alır. Ayrıca, test başarısız olursa bir dize değeri yazdıracak bir lambda ifadesi olan bir Tedarikçi işlevsel arabirimi alır.

assertFalse Yöntemi

assertFalse() yöntemi, assertTrue() yönteminin tersidir. Bu yöntem, yanlış olup olmadığını görmek için belirli bir koşulu değerlendirir. Belirli bir koşul doğruysa, assertFalse() testi başarısız olur. assertFalse() yönteminin ayrıca, assertTrue() karşılıklarıyla aynı argümanları kabul eden altı varyasyonu vardır.

@Ölçek
geçersiztestNotEvenNumbers(){
int sayı1 = 11;
int sayı2 = 17;
int sayı3 = 27;
assertFalse (sayı2 < num1);
assertFalse (sayı2 > sayı3, " Durumunuz yanlış değil.");
assertFalse (sayı3 < sayı1, () ->" Durumunuz yanlış değil.");
assertFalse(() -> num1%2 == 0);
assertFalse(() -> num2%2 == 0, "Değeriniz çift sayıdır.");
assertFalse(() -> num3%2 == 0, () ->"Değeriniz çift sayıdır.");
}

testNotEvenNumbers() yöntemindeki altı assertFalse() yönteminin tümü false ile sonuçlanır; bu, assertFalse() testlerinin başarılı olduğu anlamına gelir.

Birim Testinin Faydaları

Birim testi, yazılım geliştirme sürecinin ayrılmaz bir parçasıdır. Büyük yazılım projeleri, üzerinde çalışan ekiplerden geliştirme yaklaşımlarına kadar çeşitli nedenlerle başarısız olur.

Birim testinin amacı, erken hata tespiti sağlayarak yazılım arızasını ortadan kaldırmaktır. Bu, ekiplerin net spesifikasyonlar geliştirmesini, hata belgeleri aracılığıyla yazılım tasarımını geliştirmesini ve yazılım bakımı için destek sağlamasını gerektirir.

Birim testi, geliştirme yaşam döngünüzde kullanmanız gereken tek yazılım testi yaklaşımı değildir, sadece başlamak için çok iyi bir yerdir.