Visual Studio

Visual Studio 2017 | Live Unit Testing

Visual Studio 2017 yenilikleri arasında en önemli olarak gördüğüm Live Unit Testing. MSTest, nUnit veya xUnit ile yazılmış olan testleri, Visual Studio 2015 üzerinde daha önce Test Explorer penceresinden çalıştırıyorduk. Bu özellik Visual Studio 2017’de, Live Unit Testing özelliği eklenerek geliştirilmiş.

Testi yazılmış olan kodda değişiklikler yapıp, ardından testleri çalıştırarak açık olup olmadığını kontrol ederdik. Live Unit Testing sayesinde artık kodda yapılan her değişiklik ile testler otomatik çalışıyor ve görsel olarak bize başarılı, başarısız ve kapsanmayan testleri ilgili satırlar üzerinde gösterebiliyor. Bunun en büyük artısı, Dev Team artık kod yazdığı ekrandan uzaklaşmadan aşağıdaki sorulara anında ulaşıyor;

  1. Hangi satırlar testler tarafından kapsanmıyor?
  2. Yaptığım değişiklik başka bir yeri patlattı mı?
  3. Yaptığım değişiklik doğru sonuç alacak mı?

Dev Team performansı ve motivasyonu için önemli olduğunu düşündüğüm Live Unit Testing‘i kullanabilmek için aşağıdaki adımları izlemek yeterli.

Öncelikle Visual Studio 2017 kurulumu sırasında, opsiyonel özellikler arasından Live Unit Testing‘in seçili olduğuna emin olunması gerekiyor. Eğer kurulum sırasında seçili değilse, Visual Studio 2017 kurulumunu için kullanılan setup dosyası tekrar çalıştırılarak aktif hale getirilebilir.Live Unit Testing Installation

Kurulum başarılı ise, içerisinde unit test projesi barındıran solution’ı açıp Test>Live Unit Test>Start seçiyoruz.

Live Unit Test’i Çalıştırmak İçin Önemli Bilgi

Live Unit Testing‘in çalışabilmesi için, test projesine, hangi test framework’ün kullanıldığına bağlı olarak, çeşitli referansların eklenmesi gerekiyor. Bu referanslar eklenmeden Live Unit Test>Start seçilirse, “No test adapters are referenced by this solution. If you have a test project, add a NuGet reference to a test adapter corresponding to the test framework used in order to run the tests. If you already have the required NuGet reference in your test project, performing a NuGet restore may resolve the issue.” şeklinde bir hata mesajı ile karşılaşılacaktır. Aşağıda test framework’lerine göre listelediğim referanslar eklendikten sonra Live Unit Test>Start seçildiğinde Live Unit Testing çalışmaya başlayacaktır.

MSTest test framework’ü kullanılıyorsa;

  1. MSTest.TestFramework 1.0.5-preview veya üstü
  2. MSTest.TestAdapter 1.1.4-preview veya üstü

nUnit test framework’ü kullanılıyorsa;

  1. NUnit version 3.5.0 veya üstü
  2. NUnit3TestAdapter version 3.5.1 veya üstü

xUnit test framework’ü kullanılıyorsa;

  1. xunit 2.0 veya üstü
  2. xunit.runner.visualstudio version 2.2.0-beta3-build1187 veya üstü

Start Live Unit Testing

Live Unit Testing Demo

Yukarıda yer alan örnekte, bu demo için hazırlanmış bir User sınıfı yer almakta. Live Unit Testing çalışmaya başlayınca tüm kod satırlarının sol taraflarında Live Unit Testing - Coverage State - BlueDash Live Unit Testing - Coverage State - GreenCheck  işaretleri belirecek. Her bir işaretin anlamı aşağıdaki gibidir;

Live Unit Testing - Coverage State - BlueDash Hiç bir test metodu tarafından kapsanmayan satır. Code Coverage değerini düşürecektir.

Live Unit Testing - Coverage State - GreenCheck Testlerden başarı ile geçen satır (passed).

 Testlerde başarısız olan satır (failed).

Live Unit Test’i bir süre durdurmak veya kapatmak için, açmak için kullanılan menüden Pause veya Stop seçenekleri seçilebilir.

Stop Live Unit Testing

Visual Studio 2017 Professional Sürümünde Live Unit Testing Özelliği Kullanılabilir Mi?

Malesef bu özellik yalnızca Visual Studio 2017 Enterprise sürümü ile birlikte kullanılabiliyor.

Share

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir