TDD - Visual Studio Test Tool Kullanimi
- Sevdanur GENC

- Feb 6, 2013
- 2 min read
Visual Studio'nun NUnit framework haricinde bir de kendisinin test tool'u oldugundan bahsetmistim. Bu makale icerisinde de ayni uygulamamizi Test Tool uzerinde gerceklestiriyor olacagim. Visual Studio'muzu aciyor ve yeni bir test projesi olusturuyorum. Ismini NUnitPersonelUygulamasiTest olarak duzenliyorum.
Solution Explorer'da asagidaki gibi bir Tree goreceksiniz. Size referans bilgi olarak UnitTest1.Cs sinifini olusturmus ve icerisinde Test ile ilgili komutlarin hazir bir sekilde tanimlanmis oldugunu goruyoruz.
Isterseniz bu sinif uzerinde isim duzenlemesi yapin isterseniz kendi test sinifinizi olusturun, bu tamamen size kalmis bir sey.
Ben, PersonelTest.Cs isminde yeni bir class olusturuyor olacagim. Ve icerisine bir onceki ornegimizde oldugu gibi, class'a bir test methodu yaziyorum.
public void TestPersonelBilgisi() {Personel personel = new Personel(); personel.TcKimlik = "123456789"; personel.Isim = "Sevdanur"; personel.Soyisim = "GENC"; string actual = personel.PersonelBilgisi(); string expected = "123456789 Sevdanur GENC"; Assert.AreEqual(expected, actual, "Farkli Bir Sonuc..."); }
Yine size Personel class'i icin, icerisindeki degiskenler ve method'lari icin hata verecektir. Bunun icin Bir Personel.Cs class'i olusturuyor ve icerisine test method'unda tanimlamis oldugum degerleri tanimliyorum.
public string TcKimlik { get; set; } public string Isim { get; set; } public string Soyisim { get; set; } public string PersonelBilgisi() { if (string.IsNullOrEmpty(TcKimlik)) throw new MissingFieldException("TcKimlikNo Bos Gecilemez!"); return string.Format("{0} {1} {2}", TcKimlik, Isim, Soyisim); }
Test kodlarimin calisip calismadigini gorebilmem icin Visual Studio'nun TEST Menusunden Run menusu altindaki All Tests in Solution 'i tikliyoruz.
Visual Studio icerisinde acilan Test Results penceresinden test sonuclarimizi goruyoruz.
Yesil bir tick isareti ile testimizin passed durumunda gectigini goruyoruz. Peki test kodlarimizdan vermis oldugum degerde string expected = "987654321 Sevdanur GENC"; bir degisiklik yapmis olsaydim nasil bir ekran goruntusu olacakti;
Goruldugu gibi Failed seklinde bir hata ve hatanin bizim vermis oldugumuz hata mesaji ile geri donus yapmis olacak. NUnit icin surekli build islemini tekrar ettigimizi hatirliyorsunuzdur, bu durumda Test Tool'u kullanmak biraz daha zahmetsiz gibi gozukmekte.
Personel.Cs Kaynak Kodlari ;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace NUnitPersonelUygulamasiTest
{
public class Personel
{
public string TcKimlik { get; set; }
public string Isim { get; set; }
public string Soyisim { get; set; }
public string PersonelBilgisi()
{
if (string.IsNullOrEmpty(TcKimlik))
throw new MissingFieldException("TcKimlikNo Bos Gecilemez!");
return string.Format("{0} {1} {2}", TcKimlik, Isim, Soyisim);
}
}
}
PersonelTest.Cs Kaynak Kodlari;
using System;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace NUnitPersonelUygulamasiTest
{
public class PersonelTest
{
public void TestPersonelBilgisi() { Personel personel = new Personel(); personel.TcKimlik = "123456789"; personel.Isim = "Sevdanur"; personel.Soyisim = "GENC"; string actual = personel.PersonelBilgisi(); string expected = "987654321 Sevdanur GENC"; Assert.AreEqual(expected, actual, "Farkli Bir Sonuc..."); } } } Bir sonraki makalelerimde yine TDD hakkinda arastirmalarimin sonuclarini sizlerle paylasiyor olacagim. Keyifli Calismalar Dilerim.
Comments