2- İlk Unit Testimizi Yazalım

Mustafa Dikyar
3 min readJul 22, 2023

--

Merhaba herkese, unit test makale serimizin ikinci kısmına hoş geldiniz.

Bu bölümde ilk unit testimizi yazacağız.

Eğer ilk kısmı okumadıysanız, önceki makaleye bu link üzerinden erişebilirsiniz.

Şimdi kod yazmaya başlamak için hazır olun!

Yukarıdaki branch üzerinden demo projemizin temel işlevselliğini inceleyebilirsiniz.

Projemiz temelde verilen bir listedeki öğeleri işleyen bir kod akışına sahip. Kodumuzu çalıştırıp console outputu incelediğimizde, listemizde üç adet espresso, iki adet latte ve beş adet cappuccino olduğunu başarıyla gözlemleyebiliyoruz.

Test projemizi oluşturarak makalemize devam edelim.

Projemizi oluşturmadan önce, .NET için aslında üç popüler unit test framework’ü vardır. Bunlar:

  • MsTest (Microsoft tarafından geliştirilmiştir)
  • NUnit
  • xUnit

Biz burada xUnit üzerinden geliştirmelerimize devam edeceğiz. xUnit projemizi solution’umuza dahil edelim.

İlk iş olarak LineParser kod bloğunu inceleyelim ve bu basit parser için bir unit test yazarak işe başlayalım.

İlgili kodu incelediğimizde, verilen listedeki öğeleri DataItem nesnesine dönüştüren bir parse işlemi gerçekleştirdiğini göreceksiniz.

Şimdi en basit haliyle testimizi inceleyelim.

Elimizde bir adet cappuccino ve hangi tarihte işlendiği bilgisi var. Bu bilgimizi işleyen bir line parserımız var. Buraya kadar her şey oldukça tanıdık.

Assert kısmını incelersek eğer xUnit kütüphanesinden gelen bazı metotları göreceksiniz. Burada istenen sonuçlara sahip olup olmadığımızı görebileceğimiz birkaç metota sahibiz.

İlk olarak NotNull metotu ile dataItems nesnemiz için bir null kontrolü yapıyoruz.

Single metotu ile listemizin tek bir itemdan oluşup oluşmadığını kontrol ediyoruz.

Son olarak da gelen değerlerimizin verdiğimiz değerlere eşit olup olmadıklarını kontrol ediyoruz.

İşte ilk unit testimizi yazdık. Her şey ne kadar da kolay değil mi? :)

Şimdi testlerimizi nasıl çalıştıracağımızı ve ihtiyaç halinde nasıl hata ayıklayacağımızı görelim.

Testlerimizi çalıştırmak için birkaç yöntemimiz bulunmaktadır.

İlk yöntem, metot üzerinde sağ tıklayarak ekran görüntüsündeki seçenekleri kullanmaktır (kısayolları da gözden kaçırmayın).

Bir diğer yöntem ise, Visual Studio üzerindeki “Test” menüsünü kullanmaktır. “Run All Tests” seçeneğini seçerek tüm testleri çalıştırabilir ve sonuçları gözlemleyebiliriz.

Testlerimizin başarıyla geçtiğini yukarıdaki ekran görüntüsünden gözlemleyebiliriz.

Testleri çalıştırmak için başka bir yöntem de Test Explorer üzerinde sol üst köşedeki yeşil okları kullanmak veya ilgili test üzerinde sağ tıklayarak testleri çalıştırmaktır. Test Explorer’ı açmanın kısayolu da Ctrl+E, T olarak bilinmektedir.

Tabii ki, gerçek hayatta her zaman her şey sorunsuz gitmeyebilir. Bu nedenle bir hata oluşturarak hata senaryosunu ve testin davranışını gözlemleyelim.

DataParser’a gidiyorum ve gelen değeri manipüle ediyorum. Dönen değeri “Cappuccino” yerine “Türk Kahvesi” olarak değiştiriyorum.

Testimizi tekrar çalıştıralım ve sonuçları gözlemleyelim.

Test Explorer’a gittiğimizde, testimizin hata aldığını ve detayları açık bir şekilde görebiliyoruz.

Daha detaylı bir şekilde incelemek için debug modda çalıştırarak case’ımızı inceleyebilirsiniz.

Makalemizin bu bölümünü sonlandırmadan önce kodumuzu tekrar başarılı hale getiriyorum.

İşte ilk casemizin branchini incelemeniz için buraya bırakıyorum.

Böylelikle, Unit Test makale serimizin ikincisinin de sonuna geldik.

Bir sonraki makalemizde Unit Test Exception Senaryoları ve Data Driven Test konularını ele alacağız.

Önceki makaleye bu link üzerinden, sonraki makaleye de buradaki link üzerinden ulaşabilirsiniz.

Okuduğunuz için teşekkür ederim.

--

--

No responses yet