Aracılığıyla paylaş


.NET'te test etme

Bu makale, test kavramını tanıtır ve kodu doğrulamak için farklı test türlerinin nasıl kullanılabileceğini gösterir. .NET CLI veya Tümleşik Geliştirme Ortamları (IDE) gibi .NET uygulamalarını test etmek için çeşitli araçlar kullanılabilir.

Test türleri

Otomatikleştirilmiş testler, uygulama kodunun yazarlarının amaçladığı şeyi yapmalarını sağlamanın harika bir yoludur. Bu makale birim testlerini, tümleştirme testlerini ve yük testlerini kapsar.

Birim testleri

birim testi, "iş birimi" olarak da bilinen tek tek yazılım bileşenlerini veya yöntemlerini kullanan bir testtir. Birim testleri yalnızca geliştiricinin denetimindeki kodu test etmelidir. Altyapı sorunlarını test etmemektedir. Altyapıyla ilgili endişeler arasında veritabanları, dosya sistemleri ve ağ kaynaklarıyla etkileşim kurma yer alır.

Birim testleri oluşturma hakkında daha fazla bilgi için bkz. Test araçları.

Tümleştirme testleri

tümleştirme testi, "tümleştirme" olarak da bilinen iki veya daha fazla yazılım bileşeninin birlikte çalışma becerisini kullanmasından dolayı birim testinden farklıdır. Bu testler test kapsamındaki sistemin daha geniş bir spektrumu üzerinde çalışırken birim testleri tek tek bileşenlere odaklanır. Tümleştirme testleri genellikle altyapı sorunlarını içerir.

Yük testleri

yük testi, bir sistemin belirli bir yükü işleyip işleyemeyeceğini belirlemeyi amaçlar. Örneğin, bir uygulamayı kullanan eşzamanlı kullanıcı sayısı ve uygulamanın etkileşimleri hızlı bir şekilde işleme yeteneği. Web uygulamalarının yük testi hakkında daha fazla bilgi için bkz. ASP.NET Core load/stress testing.

Testle ilgili dikkat edilmesi gerekenler

Test yazarken en iyi uygulamaların olduğunu aklınızda bulundurun. Örneğin Test Temelli Geliştirme (TDD), denetlemesi amaçlanan koddan önce birim testi yazdığınız zamandır. TDD, yazmadan önce bir kitabın ana hatlarını belirlemeye benzer. Birim testi, geliştiricilerin daha basit, okunabilir ve verimli kod yazmasına yardımcı olur.

Test araçları

.NET'te testleri çalıştırırken, iki bileşen söz konusu olur: test platformu ve test çerçevesi.

Test platformları

Test platformu, testleri çalıştıran ve IDE'ler ile iletişim kanalı görevi gören altyapıdır. Örneğin Visual Studio, kullanılabilir testleri Test Gezgini'nde görüntüleyebilmek için test platformuna bir bulma isteği gönderebilir. Test platformu, bulduğu testlerle IDE'ye geri yanıt verir. Test yürütmesi için benzer iletişimler gerçekleşir.

VSTest uzun yıllardır .NET'te kullanılmıştır ve ekosistemdeki tek test platformuydu. 2024'ün başlarında, Microsoft.Testing.Platform (MTP)adlı yeni bir test platformunun ilk kararlı sürümü piyasaya sürüldü.

Test çerçeveleri

Test çerçevesi, test platformunun üzerine kurulmuştur. Test yazarı olarak kullanabileceğiniz öznitelik ve API kümesini tanımlar. Genellikle test çerçevesi ile test platformu arasında bir iletişim katmanı işlevi gören bir test bağdaştırıcısı tarafından desteklenir. Popüler test çerçeveleri MSTest, NUnit, TUnit ve xUnit.net'tir.

MSTest

MSTest, tüm .NET dilleri için Microsoft test çerçevesidir. Genişletilebilir ve .NET CLI, Visual Studio, Visual Studio Code ve Rider ile çalışır. Hem VSTest hem de Microsoft.Testing.Platform'u destekler.

Daha fazla bilgi için aşağıdaki kaynaklara bakın:

NUnit

NUnit, tüm .NET dilleri için bir birim testi çerçevesidir. Başlangıçta, NUnit JUnit'ten taşındı ve geçerli üretim sürümü, birçok yeni özellik ve çok çeşitli .NET platformları desteğiyle yeniden yazıldı. Bu, .NET Foundationprojesidir. Hem VSTest hem de Microsoft.Testing.Platform'u destekler.

Daha fazla bilgi için aşağıdaki kaynaklara bakın:

TUnit

TUnit tamamen Microsoft.Testing.Platform'un üzerine kurulmuştur ve VSTest'i desteklemez. Daha fazla bilgi için TUnit belgelerine bakın.

xUnit.net

xUnit.net. .NET için ücretsiz, açık kaynak, topluluk odaklı bir birim testi aracıdır. NUnit v2'nin özgün mucidi xUnit.net yazdı. xUnit.net, .NET uygulamalarının birim testi için en son teknolojidir. Ayrıca ReSharper, CodeRush ve TestDriven.NET ile de çalışır. xUnit.net, .NET Foundation'nin bir projesidir ve kullanım kuralları kapsamında çalışır. Hem VSTest hem de Microsoft.Testing.Platform'u destekler

Daha fazla bilgi için aşağıdaki kaynaklara bakın:

Testleri çalıştırma

.NET CLI

dotnet test komutuyla .NET CLI kullanarak bir çözümdeki tüm test projelerinden birim testleri çalıştırabilirsiniz. .NET CLI, Tümleşik Geliştirme Ortamları'nı (IDE) kullanıcı arabirimleri aracılığıyla kullanılabilir hale getiren işlevlerin çoğunu kullanıma sunar. .NET CLI platformlar arasıdır ve sürekli tümleştirme ve teslim işlem hatlarının bir parçası olarak kullanılabilir. .NET CLI, ortak görevleri otomatikleştirmek için betikli işlemlerle birlikte kullanılır.

IDE

Visual Studio, Visual Studio Code veya Rider kullanıyor olun, test işlevlerine yönelik grafik kullanıcı arabirimleri vardır. IDE'lerde CLI'dan daha fazla özellik vardır, örneğin, Canlı Birim Testi. Daha fazla bilgi için bkz. Visual Studio ile testleri dahil etme ve dışlama.

Ayrıca bkz.

Daha fazla bilgi için aşağıdaki makalelere bakın: