microservice-base

Simple Project :)

Follow me on GitHub

Shop Projesi

  • https://github.com/microservice-base/shop

Ürün kayıt bilgilerine ulaşabileceğimiz projedir.

Kullanılan Teknolojiler

  • Java
  • Spring Boot (Spring Framework)
  • Gradle
  • H2 in memory db
  • Mockito

Yazdığımız test sınıflarını inceleyelim.

Uygulamamızın katmanları bazı katmanları mevcuttur.

  • Api Katmanı
  • Servis Katmanı
  • DAO katmanı

DAO Katmanı

Veritabanına ulaşıp kayıt ekleme, kayıt silme, kayıt bulma gibi işlemlerin yapılmasını sağlayan katmandır.

  • https://github.com/microservice-base/shop/blob/master/shop/src/test/java/com/shop/product/dao/ProductDAOTest.java

Sınıfımızın başında veritabanı işlemlerini yapabilmemiz için Spring Framework anotasyonu olan @DataJpaTest mevcuttur.

Bu test dosyasını çalıştırdığımızda ;

Spring Framework anotasyonu olan @TestEntityManager, ile Java dilinin Java Persistence Api sini kullanarak kayıt işlemleri basitçe gerçekleştirdik. DAO yu test etmek için entitiymanager ile sahte kayıtlar(mock) oluşturmuş olduk.

Sonraki adımlarda kendi DAO sınıfımızın metotları ile bu işlemlerin yapılabilirliğini kontrol ettik.

DAO sınıfımıza ait metotların sonuçlarını kontrol ederek testimizi çalıştırmış oluyoruz

Servis Katmanı

DAO katmanı işlemlerini kullanabilmek için çağırdığımızı metotların bulunduğu katmandır.

  • https://github.com/microservice-base/shop/blob/master/shop/src/main/java/com/shop/product/service/impl/ProductBusinessServiceImpl.java

Sınıfımızın başında Spring Framework anotasyonu olan @SpringBootTest mevcuttur.

Bu test dosyası çalıştırıldığında ;

DAO sınıfımızdaki metotlar bizim sahte(mock) objelerimiz olacak şekilde kullanıyoruz.

Servis sınıfımızın metotlarını çağırıp test ediyoruz.

Servis sınıfımızın metotlarının sonçlarını beklediğimiz sonuçlar ile karşılaştırıp testimizi çalıştırmış oluyoruz.

Api Katmanı

Projeye gelen isteklere karşılık sağlayacak servislerin olduğu sınıflardır.

  • https://github.com/microservice-base/shop/tree/master/shop/src/main/java/com/shop/product/api

yay back