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.
🌟 Neden Spring Boot ile TDD?
- Hataları Erken Yakala: Geliştirme aşamasında problemleri fark et.
- Temiz Tasarım: Modüler ve test edilebilir kod yapısı zorunlu olur.
- Güvenle Refactor Et: Testler değişikliklerde güven sağlar.
- Dokümantasyon: Testler, beklenen davranışı anlatır.
🌟 Ön Koşullar
Şunlara sahip olduğundan emin ol:
- ☕ JDK 17+ kurulu
- 📦 Maven veya Gradle
- 🔤 Java IDE (IntelliJ IDEA, Eclipse vb.)
🛠️ 1. Adım: Test Bağımlılıklarını Ekle
Projene Spring Boot test starter'ını ekle.
Maven:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency>
Gradle:
testImplementation 'org.springframework.boot:spring-boot-starter-test'
📋 2. Adım: İlk Testini Yaz
Servisi yazmadan önce basit birim test oluştur.
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); } }
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) } }
📖 3. Adım: Servisi Oluşturun
Testi geçecek şekilde GreetingService
sınıfını oluştur.
package com.example.tdd; public class GreetingService { public String greet(String name) { return "Hello, " + name + "!"; } }
package com.example.tdd class GreetingService { fun greet(name: String): String { return "Hello, $name!" } }
▶️ Uygulamayı Test Et
Testleri çalıştırmak için aşağıdaki komutu kullan:
./mvnw test
veya
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
Spring Boot ile TDD, daha temiz, sürdürülebilir ve test edilebilir uygulamalar geliştirmeni sağlar. Küçük başla, sık test et ve temiz kodun keyfini çıkar!