Şuayb'in BloguŞuayb'in Blogu
Ana Sayfa
Kategoriler
Oyunlar
MediumHakkındaİletişim
Dil
Tema
    1. Blog
    2. Programlama
    3. Spring Boot ile Test Odaklı Geliştirme

Spring Boot ile Test Odaklı Geliştirme

İlk yayın9 Nisan 2025
Son güncelleme10 Nisan 2025
Okuma süresi3 dk okuma
JavaKotlinSpring BootTDDTest
XLinkedInFacebook
Spring Boot ile Test Odaklı Geliştirme

Beğeni yükleniyor...

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.


Son güncelleme10 Nisan 2025

Toplam görüntülenmeGörüntülenme yükleniyor...

Önceki makaleSpring Boot Circuit BreakerSonraki makaleSpring Boot JPA Auditing
Şuayb Şimşek

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.

Uzmanlık

  • Spring Boot
  • Go
  • Mikroservis
  • Next.js
  • Cloud Native

Bağlantılar

GitHubLinkedInMedium

Benzer yazılar

Spring Boot Configuration Properties
Programlama

Spring Boot Configuration Properties

@ConfigurationProperties ile tip-güvenli yapılandırma tanımlamayı, @Validated ile ayarları doğrulamayı ve profile-specific application-{profile}.yml dosyalarıyla ortama göre değer yönetimini öğrenin.

4 Şubat 20263 dk okuma
JavaKotlinSpring BootYapılandırma
Spring Boot GraphQL JWE Kimlik Doğrulama
Programlama

Spring Boot GraphQL JWE Kimlik Doğrulama

Stateless şifreli JWT’ler (JWE) ile Spring Boot GraphQL API’lerinizi güvenli hale getirmeyi; kullanıcı kimliği ve rolleri JPA ile bir veritabanında saklamayı öğrenin.

17 Mayıs 20256 dk okuma
JavaKotlinSpring BootGüvenlikJWTJWEGraphQL
Spring Boot JPA ile JWE Kimlik Doğrulaması
Programlama

Spring Boot JPA ile JWE Kimlik Doğrulaması

Stateless şifreli JWT’ler (JWE) kullanarak Spring Boot API’lerinizi güvenli hale getirirken, kullanıcı kimliklerini ve rolleri JPA destekli bir veritabanında nasıl saklayacağınızı öğrenin.

11 Mayıs 20254 dk okuma
JavaKotlinSpring BootGüvenlikJWTJWEJPA

Hakkımda

Spring Boot, mikroservis, güvenlik ve daha fazlası hakkında yazılar.

İletişimYeni başladıysan

Son yazılar

  • Captain Tsubasa 2: World Fighters
  • Captain Tsubasa: Rise of New Champions
  • Spring Boot Configuration Properties
  • Spring Boot GraphQL JWE Kimlik Doğrulama
  • Spring Boot JPA ile JWE Kimlik Doğrulaması

Popüler konular

JavaKotlinSpring BootGüvenlikJWEJWT

Abone ol

Yeni yazılar yayınlandığında pratik backend ve fullstack notlarını al.

Sosyal

© 2024-2026 Şuayb'in Blogu. Tüm hakları saklıdır.

🌟 Neden Spring Boot ile TDD?

Bu bölümde Neden Spring Boot ile TDD? konusunu netleştirip uygulamada kullanacağınız temel noktaları özetliyoruz.

  • 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.

📋 Gereksinimler

Şunlara sahip olduğundan emin ol:

  • ☕ JDK 17+ kurulu
  • 📦 Maven veya Gradle
  • 🔤 Java IDE (IntelliJ IDEA, Eclipse vb.)

🧪 Adım 1: Test Bağımlılıklarını Ekle

Projene Spring Boot test starter'ını ekle.

Maven:

XMLpom.xml
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-test</artifactId>
  <scope>test</scope>
</dependency>

Gradle:

GROOVYbuild.gradle
testImplementation 'org.springframework.boot:spring-boot-starter-test'

🛠️ Adım 2: İlk Testini Yaz

Servisi yazmadan önce basit birim test oluştur.


🛠️ Adım 3: Servisi Oluşturun

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:

  1. Red – Başarısız test yaz
  2. Green – Testi geçir
  3. 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!"
    }
}