Biz zaten aşinayız JBirim test çerçevesi. Java'da birim testi yapmak için kullanılır. JUnit test senaryosu, program kodumuzun beklendiği gibi çalışıp çalışmadığını kontrol eden kod kümesidir.
İçinde Java , iki tür birim testi mümkündür: Manuel test ve Otomatik test. Manuel test, test senaryolarının herhangi bir araç kullanılmadan yürütüldüğü özel bir test türüdür. Manuel testin aksine, otomatik test herhangi bir araç desteklenmeden mümkün değildir.
yatak sayfası gibi siteler
org.junit package çeşitli sınıflar ve paketler sağlar ve bu da kodumuzun beklenen çıktıyı sağlayıp sağlamadığını kontrol etmemize yardımcı olur. Bu paketler ve sınıflar Assert, After, Before ve Test vb.'dir.
Java kodunu test etmek için Eclipse aracını kullanacağız. Öncelikle test etmek istediğimiz java kodunu oluşturuyoruz ve sonrasında Java kodumuzun test sınıfını veya test senaryosunu yazıyoruz.
Java'da testin gerçekte nasıl yapıldığını anlamak için JUnit test senaryosu örneğini ele alalım.
JunitTestCaseExample.java
package JavaTpoint. JunitExamples; import java.util.ArrayList; import java.util.List; public class JunitTestCaseExample { private List students = new ArrayList(); public void remove(String name) { students.remove(name); } public void add(String name) { students.add(name); } public void removeAll(){ students.clear(); } public int sizeOfStudent() { return students.size(); } }
TestJunitTestCaseExample.java
package JavaTpoint.JunitExamples; import static org.junit.Assert.assertEquals; import org.junit.Test; public class TestJunitTestCaseExample { JunitTestCaseExample obj = new JunitTestCaseExample(); @Test public void testAdd() { obj.add('Emma'); obj.add('Ronan'); obj.add('Antonio'); obj.add('Paul'); assertEquals('Adding 4 student to list', 4, obj.sizeOfStudent()); } @Test public void testSize() { obj.add('Emma'); obj.add('Ronan'); obj.add('Antonio'); assertEquals('Checking size of List', 3, obj.sizeOfStudent()); } @Test public void testRemove() { obj.add('Antonio'); obj.add('Paul'); obj.remove('Paul'); assertEquals('Removing 1 student from list', 1, obj.sizeOfStudent()); } @Test public void removeAll() { obj.removeAll(); } }
TestRunner.java
kullanıcılara mysql'i göster
package JavaTpoint.JunitExamples; import org.junit.runner.Result; import org.junit.runner.JUnitCore; import org.junit.runner.notification.Failure; public class TestRunner { public static void main(String[] args) { Result result = JUnitCore.runClasses(TestJunitTestCaseExample.class); for (Failure fail : result.getFailures()) { System.out.println(fail.toString()); } System.out.println(result.wasSuccessful()); } }
Açıklama
Üç Java sınıfı oluşturduk, yani, JunitTestCaseExample.java, TestJunitTestCaseExample.java , Ve TestRunner .java. İçinde JunitTestCaseExample.java class'ta test etmek istediğimiz kodu oluşturduk. Bu sınıfta, bir öğe eklemek, bir öğeyi kaldırmak, listenin boyutunu almak ve tüm öğeleri listeden kaldırmak için bir isim listesi ve dört yöntem oluşturuyoruz.
k kümeleme algoritması
İçinde TestJunitTestCaseExample.java JunitTestCaseEample.java sınıfı için test senaryolarını yazıyoruz. Bir nesne yaratıyoruz JunitTestCaseExample.java sınıfı ve nesnesini kullanarak tüm yöntemlerini test edeceğiz. biz kullanıyoruz iddiaEşit() Gerçek sonucu beklenen çıktıyla kontrol etme yöntemi.
Test senaryolarını yürütmek için TestRunner.java sınıfını oluşturuyoruz. JUnitCore'un runClasses() yöntemini kullanarak TestJunitTestCaseExample.java sınıfını çalıştırdığımız main() yöntemini içerir. Bu yöntemde TestJunitTestCaseExample.java’nın sınıf dosyasını aktarıyoruz. runClasses() yönteminin döndürdüğü sonuç, Result türündeki sonuç değişkeninde depolanır.
Şimdi test senaryolarını yürütmek için TestRunner.java sınıfını çalıştıracağız. Test senaryoları geçildiğinde çıktıyı true, test senaryoları geçilmediğinde ise false çıktısını alacağız.
Çıktı