Unit Test Neden Önemli?
Test yazılmış kod, refactoring sırasında güven verir. CI/CD pipeline'larında otomatik test çalıştırılır. Büyük firmalarda unit test bilmek zorunlu şarttır.
xUnit ile Temel Test
public class HesaplamaTests {
[Fact]
public void Topla_IkiPositifSayi_DogruSonucDoner() {
// Arrange
var hesap = new Hesaplama();
// Act
var sonuc = hesap.Topla(3, 4);
// Assert
Assert.Equal(7, sonuc);
}
[Theory]
[InlineData(2, 3, 5)]
[InlineData(-1, 1, 0)]
[InlineData(0, 0, 0)]
public void Topla_CesitliDegerler_DogruSonuc(int a, int b, int beklenen) {
Assert.Equal(beklenen, new Hesaplama().Topla(a, b));
}
}Moq ile Mock Nesneler
var mockRepo = new Mock<IKullaniciRepo>();
mockRepo.Setup(r => r.GetById(1)).Returns(new Kullanici { Ad = "Test" });
var servis = new KullaniciServis(mockRepo.Object);
var sonuc = servis.GetKullanici(1);
Assert.Equal("Test", sonuc.Ad);