Yazılım geliştirmede birim testi, bir uygulamanın ayrılmış bölümlerini izole eden ve test eden bir süreçtir. Birimler, bu özel bölümler için kullanılan resmi terimdir. Java uygulamanızda birim, bir yöntemdir.

JUnit 5 Nedir ve Ne İçin Kullanabilirsiniz?

Java geliştiricileri için birçok birim test çerçevesi vardır. En iyi çerçeveler arasında JUnit 5 var.

Birim Testi Neden Önemli?

Bir değişkenin değerini yazdırmak ve kontrol etmek için hata ayıklama ifadeleri yazdıysanız, tebrikler; Bir birim testi oluşturdunuz. İstenen çıktıyı alamadığınız için kodun bu gereksiz bölümü gerekliydi.

Peki ya istenen çıktıyı alıyorsanız ve kod hala bir yerde hata içeriyorsa? Uygulamayı dağıtabilirsiniz ve bu hata daha sonra bir güvenlik ihlaline neden olabilir. Kullanıcıların verilerini depolayan uygulamalar için, bir güvenlik ihlali olduğunda riskler yüksektir.

Birim testi, şu anda bir hataya neden olsun ya da olmasın, uygulamanızın her bölümünü hedefler. Bu nedenle, birim testi, iyi bir yazılım güvenliğinde önemli bir rol oynar .

JUnit 5 Nedir?

JUnit 5, başka bir birim test çerçevesinden daha fazlasıdır. JUnit Platformu, JUnit Jupiter ve JUnit Vintage olmak üzere birkaç alt projesi vardır. Bu üç bileşenin her biri, Java programcıları için testi geliştirmek üzere birlikte çalışan benzersiz modüllere sahiptir.

JUnit 5 platformu, en iyi Java Integrated geliştirme platformlarının (IDE) en son sürümlerinde mevcuttur. JUnit 5’i destekleyen Java IDE’leri şunlardır:

IntelliJ FİKİR

tutulma

NetBeans

Visual Studio Kodu

JUnit 5 ile Birim Testleri Oluşturma

Bu örnek program, basit bir hesap makinesi uygulamasında birkaç birim testi oluşturmak için JUnit 5’i kullanır.

Hesap Makinesi Sınıfı

package app;

public class Calculator {

public static int add(int num1, int num2) {

return num1 + num2;

}

public static int subtract(int num1, int num2) {

return num1 – num2;

}

public static int multiply(int num1, int num2) {

return num1 * num2;

}

public static int divide(int num1, int num2) {

return num1 / num2;

}

}

Yukarıdaki Java sınıfı dört statik işlem gerçekleştirir: toplama, çıkarma, çarpma ve bölme. Her yöntem iki tamsayı bağımsız değişkeni alır ve tek bir tamsayı değeri döndürür.

JUnit 5 Test Sınıfı

package test;

import static org.junit.Assert.*;

import app.Calculator;

import org.junit.Test;

public class CalculatorTest {

@Test

public void testAdd() {

assertEquals(7, Calculator.add(3, 4));

}

@Test

public void testSubtract() {

assertEquals(6, Calculator.subtract(9, 3));

}

@Test

public void testMultiply() {

assertEquals(10, Calculator.multiply(5, 2));

}

@Test

public void testDivide() {

assertEquals(2, Calculator.divide(4, 2));

}

}

JUnit 5 Nedir ve Ne İçin Kullanabilirsiniz?

CalculatorTest iki önemli kavram sunar: @Test notu ve iddiaEquals() yöntemi. @Test ek açıklaması, doğrudan altındaki yöntemin bir test yöntemi olduğunu gösterir. Yukarıdaki test sınıfında, hesap makinesi işlemlerinin her biri için bir tane olmak üzere dört test yöntemi vardır.

Tüm test yöntemleri iddiaEquals() yöntemini kullanır. Bu yöntem, iki zorunlu bağımsız değişken ve isteğe bağlı bir üçüncü bağımsız değişken alır. Yukarıdaki iddiaEquals() yöntemine verilen ilk argüman beklenen sonuçtur ve ikinci argüman değerlendirmek istediğiniz yöntemdir (veya birimdir).

CalculatorTest sınıfının bir ana yöntemi yoktur, ancak JUnit @Test ek açıklamaları, test yöntemlerinin her birini yürütülebilir hale getirir. Eclipse’de CalculatorTest sınıfını çalıştırmak aşağıdaki arabirimi üretir:

JUnit test çıktısı

Gördüğünüz gibi, her test başarılı. Dört test var ve hepsi hatasız veya hatasız çalıştı.

Öğrenim Birimi Testi Kariyer Fırsatlarınızı Genişletebilir

Bir geliştirici olarak, yazılımın nasıl test edileceğini bilmek, sahip olunması gereken avantajlı bir beceridir. İş akışınızı kesinlikle iyileştirecek ve umarım kodunuzun başkaları için kullanımını kolaylaştıracaktır. Ancak, yalnızca test etmeye odaklanan bir yazılım geliştirme dalı vardır. Bu mühendisler yazılım testçileri olarak bilinir.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir