Sobes.tech
Junior — Middle

Test bağlamında JUnit 4 ve JUnit 5 sürümleri arasında ne gibi farklar vardır?

sobes.tech yapay zeka

AI'dan gelen yanıt

JUnit 4 ile JUnit 5 arasındaki temel farklar:

  • Mimari: JUnit 5, farklı sürümlerdeki testleri çalıştırmaya ve işlevselliği genişletmeye olanak tanıyan birkaç modülden oluşur (JUnit Platform, JUnit Jupiter, JUnit Vintage). JUnit 4 tek parça halinde.

  • Açıklamalar:

    • JUnit 5'te yeni açıklamalar ortaya çıktı: @BeforeEach @Before yerine, @AfterEach @After yerine, @BeforeAll @BeforeClass yerine, @AfterAll @AfterClass yerine.
    • JUnit 5'te @Test, assertThrows kullanımı gibi yeni özellikleri destekler, böylece beklenen istisnaları belirtebilirsiniz.
  • Genişletilebilirlik: JUnit 5, JUnit 4'teki kurallar ve koşucuların yerini alan genişletilebilir bir Extension API modeli sunar.

  • Lambda ifadeleri ve Java 8+ desteği: JUnit 5, Java 8'in özelliklerini kullanır, bu da test yazımını kolaylaştırır ve okunabilirliği artırır.

  • Parametreli testler: JUnit 5'te parametreli testlerin desteği daha esnek veri kaynaklarıyla geliştirilmiştir.

Basit bir JUnit 5 testi örneği:

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;

class CalculatorTest {
    @Test
    void addition() {
        assertEquals(2, 1 + 1);
    }
}

JUnit 5 daha modern ve esnektir, yeni projeler için önerilir, ancak JUnit 4 hâlâ yaygın şekilde kullanılmakta ve desteklenmektedir.