Test Odaklı Geliştirme (TDD), iş mantığını uygulamadan önce testler yazarak sağlam uygulamalar geliştirmeni sağlar. Spring Boot ile birim testler yazmak hızlı, temiz ve etkilidir.
Yazan
Şuayb Şimşek
Spring Boot, güvenlik, mikroservis ve cloud-native mimari konularında pratik teknik notlar paylaşan backend odaklı fullstack geliştirici.
Testi geçecek şekilde GreetingService sınıfını oluştur.
▶️ Uygulamayı Test Et
Testleri çalıştırmak için aşağıdaki komutu kullan:
BASH
./mvnw test
veya
BASH
gradle test
Test başarıyla geçmeli ✅
Refactor ve Tekrarla
Test geçtikten sonra kodu güvenle refactor edebilirsin. TDD döngüsü şöyledir:
Red – Başarısız test yaz
Green – Testi geçir
Refactor – Kodu temizle
🏁 Sonuç
Artık Test Odaklı Geliştirme için üretim odaklı bir Spring Boot temeliniz var. Sonraki adımda ayarları kendi domainine uyarlayıp test ve gözlemlenebilirlik katmanını ekleyerek gerçek trafik altında doğrulayın.
JAVAGreetingServiceTest.java
package com.example.tdd;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class GreetingServiceTest {
@Test
void shouldReturnGreetingMessage() {
GreetingService service = new GreetingService();
String result = service.greet("World");
assertEquals("Hello, World!", result);
}
}
KOTLINGreetingServiceTest.kt
package com.example.tdd
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Test
class GreetingServiceTest {
@Test
fun shouldReturnGreetingMessage() {
val service = GreetingService()
val result = service.greet("World")
assertEquals("Hello, World!", result)
}
}
JAVAGreetingService.java
package com.example.tdd;
public class GreetingService {
public String greet(String name) {
return "Hello, " + name + "!";
}
}
KOTLINGreetingService.kt
package com.example.tdd
class GreetingService {
fun greet(name: String): String {
return "Hello, $name!"
}
}