Test Gezgini ile birim testleri çalıştırma

Visual Studio'dan veya üçüncü taraf birim testi projelerinden birim testleri çalıştırmak için Test Gezgini'ni kullanın. Testleri kategoriler halinde gruplandırmak, test listesini filtrelemek ve test çalma listeleri oluşturmak, kaydetmek ve çalıştırmak için De Test Gezgini'ni kullanabilirsiniz. Ayrıca Test Gezgini'ni kullanarak birim testlerinin hatalarını ayıklayabilir ve Visual Studio Enterprise'da kod kapsamını analiz edebilirsiniz.

Test Gezgini , bir çözümdeki birden çok test projesinden ve üretim kodu projelerinin parçası olan test sınıflarından testleri çalıştırabilir. Test projeleri farklı birim testi çerçeveleri kullanabilir. Test altındaki kod .NET için yazıldığında, test projesi hedef kodun dilinden bağımsız olarak .NET'i de hedefleyen herhangi bir dilde yazılabilir. Yerel C/C++ kod projeleri bir C++ birim testi çerçevesi kullanılarak test edilmelidir.

Test projenizi oluşturma

Visual Studio çözümünüzde önceden ayarlanmış bir test projeniz yoksa, önce bir test projesi oluşturup oluşturmanız gerekir.

Visual Studio, hem yönetilen hem de yerel kod için Microsoft birim testi çerçevelerini içerir. Ancak Test Gezgini, Test Gezgini bağdaştırıcısını uygulayan herhangi bir birim testi çerçevesini de çalıştırabilir. Üçüncü taraf birim testi çerçevelerini yükleme hakkında daha fazla bilgi için bkz . Üçüncü taraf birim testi çerçevelerini yükleme

Test Gezgini'nde testleri çalıştırma

Test projesini oluşturduğunuzda, testler Test Gezgini'nde görünür. Test Gezgini görünmüyorsa Visual Studio menüsünde Test'i seçin ve ardından Test Gezgini'ni seçin (veya Ctrl + E, T tuşlarına basın).

Test Explorer

Test Explorer

Testlerinizi çalıştırır, yazar ve yeniden çalıştırırken, Test Gezgini sonuçları varsayılan bir Project, Ad Alanı ve Sınıf gruplandırmasında görüntüler. Test Gezgini'nin testlerinizi gruplandırma şeklini değiştirebilirsiniz.

Test Gezgini araç çubuğundan testleri bulma, düzenleme ve çalıştırma işlemlerinin büyük bir kısmını gerçekleştirebilirsiniz.

Run tests from the Test Explorer toolbar

Run tests from the Test Explorer toolbar

Testleri çalıştırma

Çözümdeki tüm testleri, bir gruptaki tüm testleri veya seçtiğiniz bir test kümesini çalıştırabilirsiniz. Aşağıdakilerden birini yapın:

  • Bir çözümdeki tüm testleri çalıştırmak için Tümünü Çalıştır simgesini seçin (veya Ctrl + R, V tuşlarına basın).

  • Tüm testleri varsayılan grupta çalıştırmak için Çalıştır simgesini ve ardından menüden grubu seçin.

  • Çalıştırmak istediğiniz testleri tek tek seçin, seçili test için sağ tıklama menüsünü açın ve ardından Seçili Testleri Çalıştır'ı seçin (veya Ctrl + R, T tuşlarına basın).

  • Tek tek testlerin herhangi bir sırada çalıştırılmasını engelleyen bağımlılıkları yoksa, araç çubuğunun ayarlar menüsünde paralel test yürütmeyi açın. Bu, tüm testleri çalıştırmak için geçen süreyi önemli ölçüde azaltabilir.

Her derlemeden sonra testleri çalıştırma

Her yerel derlemeden sonra birim testlerinizi çalıştırmak için Test Gezgini araç çubuğunda ayarlar simgesini açın ve Derlemeden Sonra Testleri Çalıştır'ı seçin.

Test sonuçlarını görüntüleme

Testlerinizi çalıştırır, yazar ve yeniden çalıştırırken, Test Gezgini sonuçları Başarısız Testler, Geçirilen Testler, Atlanan Testler ve Çalıştırılmayan Testler gruplarında görüntüler. Test Gezgini'nin alt veya tarafındaki ayrıntılar bölmesinde test çalıştırmasının özeti görüntülenir.

Test ayrıntılarını görüntüleme

Tek bir testin ayrıntılarını görüntülemek için testi seçin.

Test execution details

Test execution details

Test ayrıntıları bölmesinde aşağıdaki bilgiler görüntülenir:

  • Kaynak dosya adı ve test yönteminin satır numarası.

  • Testin durumu.

  • Test yönteminin çalışması için geçen süre.

Test başarısız olursa ayrıntılar bölmesi de görüntülenir:

  • Test için birim testi çerçevesi tarafından döndürülen ileti.

  • Testin başarısız olduğu sırada yığın izlemesi.

Test yönteminin kaynak kodunu görüntüleme

Visual Studio düzenleyicisinde bir test yönteminin kaynak kodunu görüntülemek için testi seçin ve sağ tıklama menüsünde Testi Aç'ı seçin (veya F12 tuşuna basın).

Test listesini gruplandırma ve filtreleme

Test Gezgini, testlerinizi önceden tanımlanmış kategoriler halinde gruplandırmanıza olanak tanır. Test Gezgini'nde çalışan birim testi çerçevelerinin çoğu, testlerinizi gruplandırmak için kendi kategorilerinizi ve kategori/değer çiftlerinizi tanımlamanıza olanak tanır. Dizeleri test özellikleriyle eşleştirerek test listesini de filtreleyebilirsiniz.

Test listesindeki testleri gruplandırma

Test Gezgini, testlerinizi bir hiyerarşide gruplandırmanıza olanak tanır. Varsayılan hiyerarşi gruplandırma Project, Ad Alanı ve ardından Sınıf'tır. Testlerin düzenlanma şeklini değiştirmek için Gruplandır düğmesini Test Explorer group button seçin ve yeni bir gruplandırma ölçütü seçin.

Group tests by category in Test Explorer

Hiyerarşinin kendi düzeylerini tanımlayabilir ve State'e göre gruplandırabilir ve sonra da Örneğin, tercih ettiğiniz sırada Gruplandırma Ölçütü seçeneklerini belirleyerek Sınıfa göre gruplandırabilirsiniz.

Screenshot of the Visual Studio Test Explorer showing a test hierarchy in one pane and the Group By menu in the other with the Class and State options checked.

Test Gezgini, testlerinizi bir hiyerarşide gruplandırmanıza olanak tanır. Varsayılan hiyerarşi gruplandırma Project, Ad Alanı ve ardından Sınıf'tır. Testlerin düzenlanma şeklini değiştirmek için Gruplandır düğmesini Test Explorer group button seçin ve yeni bir gruplandırma ölçütü seçin.

Group tests by category in Test Explorer

Hiyerarşinin kendi düzeylerini tanımlayabilir ve State'e göre gruplandırabilir ve sonra da Örneğin, tercih ettiğiniz sırada Gruplandırma Ölçütü seçeneklerini belirleyerek Sınıfa göre gruplandırabilirsiniz.

Screenshot of the Visual Studio Test Explorer showing a test hierarchy in one pane and the Group By menu in the other with the Class and State options checked.

Test Gezgini grupları

Gruplandırma Açıklama
Süre Testleri yürütme süresine göre gruplandırma: Hızlı, Orta ve Yavaş.
İl Testleri yürütme sonuçlarına göre gruplandırma: Başarısız Testler, Atlanan Testler, Geçirilen Testler, Çalıştırılmaması
Hedef Çerçeve Testleri projelerinin hedeflediği çerçeveye göre gruplandırma
Ad alanı Testleri içeren ad alanına göre gruplandırın.
Proje Testleri içeren projeye göre gruplandırın.
Sınıfı Testleri içeren sınıfa göre gruplandırın.

Özellik

Özellik genellikle bir kategori adı/değer çiftidir, ancak tek bir kategori de olabilir. Özellikler, birim test çerçevesi tarafından test yöntemi olarak tanımlanan yöntemlere atanabilir. Birim testi çerçevesi, özellik kategorilerini tanımlayabilir. Kendi kategori adınızı/değer çiftlerinizi tanımlamak için özellik kategorilerine değerler ekleyebilirsiniz. Özellik kategorilerini ve değerlerini belirtmek için söz dizimi, birim testi çerçevesi tarafından tanımlanır.

Yönetilen Kod için Microsoft Unit Testing Framework'teki Özellikler

Yönetilen uygulamalar için Microsoft birim testi çerçevesinde, bir öznitelikte TestPropertyAttribute bir özellik adı/ değer çifti tanımlarsınız. Test çerçevesi şu önceden tanımlanmış özellikleri de içerir:

Özellik Açıklama
OwnerAttribute Sahip kategorisi birim testi çerçevesi tarafından tanımlanır ve sahibin dize değerini sağlamanız gerekir.
PriorityAttribute Öncelik kategorisi birim testi çerçevesi tarafından tanımlanır ve öncelik için bir tamsayı değeri sağlamanız gerekir.
TestCategoryAttribute TestCategory özniteliği, birim testi kategorisini belirtmenizi sağlar.
TestPropertyAttribute TestProperty özniteliği, özellik kategorisi/değer çifti tanımlamanızı sağlar.

C++ için Microsoft Unit Testing Framework'teki Özellikler

Bkz. C++ için Microsoft Unit Testing Framework'ün nasıl kullanılacağı.

Özel çalma listeleri oluşturma

Grup olarak çalıştırmak veya görüntülemek istediğiniz testlerin listesini oluşturabilir ve kaydedebilirsiniz. Bir çalma listesi seçtiğinizde, listedeki testler yeni bir Test Gezgini sekmesinde görüntülenir. Birden fazla çalma listesine test ekleyebilirsiniz.

Çalma listesi oluşturmak için Test Gezgini'nde bir veya daha fazla test seçin. Sağ tıklama menüsünde Çalma Listesine Ekle Yeni Çalma Listesi'ni> seçin.

Create a playlist

Çalma listesi yeni bir Test Gezgini sekmesinde açılır. Bu çalma listesini bir kez kullanıp atabilir veya çalma listesi penceresinin araç çubuğundaki Kaydet düğmesine tıklayıp çalma listesini kaydetmek için bir ad ve konum seçebilirsiniz.

Playlist opens in separate test explorer tab

Çalma listesi oluşturmak için Test Gezgini'nde bir veya daha fazla test seçin. Sağ tıklayın ve Çalma Listesine Ekle Yeni çalma listesi'ni> seçin.

Çalma listesini açmak için Visual Studio araç çubuğundaki çalma listesi simgesini seçin ve menüden daha önce kaydedilmiş bir çalma listesi dosyasını seçin.

Çalma listesini düzenlemek için herhangi bir teste sağ tıklayabilir ve menü seçeneklerini kullanarak çalma listesi ekleyebilir veya çalma listesinden kaldırabilirsiniz.

Visual Studio 2019 sürüm 16.7'den başlayarak, araç çubuğunda düzenle düğmesini seçebilirsiniz. Testlerinizin yanında, çalma listesine dahil edilen ve dışlanan testleri gösteren onay kutuları görüntülenir. Grupları dilediğiniz şekilde düzenleyin.

Edit Playlist button

Ayrıca hiyerarşideki üst grupların kutularını işaretleyebilir veya işaretini kaldırabilirsiniz. Bu eylem, bu gruptaki testlere göre çalma listesini her zaman güncelleştiren dinamik bir çalma listesi oluşturur. Örneğin, bir sınıfın yanına onay işareti koyarsanız, o sınıftan eklenen tüm testler bu çalma listesinin bir parçası olur. Bu sınıftan bir testi silerseniz, bu test çalma listesinden kaldırılır. Araç çubuğundaki Kaydet düğmesiyle çalma listesini kaydederek ve diskinizde oluşturulan .playlist dosyasını açarak kurallar hakkında daha fazla bilgi edinebilirsiniz. Bu dosya, bir çalma listesini oluşturan tüm kuralları ve tek tek testleri listeler.

Playlist xml file

Özellikler için bir çalma listesi oluşturmak istiyorsanız, MSTest için aşağıdaki biçimi kullanın.

<Playlist Version="2.0">
	<Rule Name="Includes" Match="Any">
		<Property Name="Trait" Value="SchemaUpdateBasic" />
	</Rule>
</Playlist>

xUnit için aşağıdaki biçimi kullanın. adınız TestCategory ile [Value]arasında bir boşluk olduğundan emin olun.

<Playlist Version="2.0">
  <Rule Name="Includes" Match="Any">
    <Rule Match="All">
      <Property Name="Solution" />
        <Rule Match="Any">
            <Property Name="Trait" Value="TestCategory [Value]" />
	    </Rule>
	</Rule>
  </Rule>
</Playlist>

Grup olarak çalıştırmak veya görüntülemek istediğiniz testlerin listesini oluşturabilir ve kaydedebilirsiniz. Bir çalma listesi seçtiğinizde, listedeki testler yeni bir Test Gezgini sekmesinde görüntülenir. Birden fazla çalma listesine test ekleyebilirsiniz.

Çalma listesi oluşturmak için Test Gezgini'nde bir veya daha fazla test seçin. Sağ tıklama menüsünde Çalma Listesine Ekle Yeni Çalma Listesi'ni> seçin.

Create a playlist

Çalma listesi yeni bir Test Gezgini sekmesinde açılır. Bu çalma listesini bir kez kullanıp atabilir veya çalma listesi penceresinin araç çubuğundaki Kaydet düğmesine tıklayıp çalma listesini kaydetmek için bir ad ve konum seçebilirsiniz.

Playlist opens in separate test explorer tab

Çalma listesi oluşturmak için Test Gezgini'nde bir veya daha fazla test seçin. Sağ tıklayın ve Çalma Listesine Ekle Yeni çalma listesi'ni> seçin.

Çalma listesini açmak için Visual Studio araç çubuğundaki çalma listesi simgesini seçin ve menüden daha önce kaydedilmiş bir çalma listesi dosyasını seçin.

Çalma listesini düzenlemek için herhangi bir teste sağ tıklayabilir ve menü seçeneklerini kullanarak çalma listesi ekleyebilir veya çalma listesinden kaldırabilirsiniz.

Visual Studio 2019 sürüm 16.7'den başlayarak, araç çubuğunda düzenle düğmesini seçebilirsiniz. Testlerinizin yanında, çalma listesine dahil edilen ve dışlanan testleri gösteren onay kutuları görüntülenir. Grupları dilediğiniz şekilde düzenleyin.

Edit Playlist button

Ayrıca hiyerarşideki üst grupların kutularını işaretleyebilir veya işaretini kaldırabilirsiniz. Bu eylem, bu gruptaki testlere göre çalma listesini her zaman güncelleştiren dinamik bir çalma listesi oluşturur. Örneğin, bir sınıfın yanına onay işareti koyarsanız, o sınıftan eklenen tüm testler bu çalma listesinin bir parçası olur. Bu sınıftan bir testi silerseniz, bu test çalma listesinden kaldırılır. Araç çubuğundaki Kaydet düğmesiyle çalma listesini kaydederek ve diskinizde oluşturulan .playlist dosyasını açarak kurallar hakkında daha fazla bilgi edinebilirsiniz. Bu dosya, bir çalma listesini oluşturan tüm kuralları ve tek tek testleri listeler.

Playlist xml file

Özellikler için bir çalma listesi oluşturmak istiyorsanız, MSTest için aşağıdaki biçimi kullanın.

<Playlist Version="2.0">
	<Rule Name="Includes" Match="Any">
		<Property Name="Trait" Value="SchemaUpdateBasic" />
	</Rule>
</Playlist>

xUnit için aşağıdaki biçimi kullanın. adınız TestCategory ile [Value]arasında bir boşluk olduğundan emin olun.

<Playlist Version="2.0">
  <Rule Name="Includes" Match="Any">
    <Rule Match="All">
      <Property Name="Solution" />
        <Rule Match="Any">
            <Property Name="Trait" Value="TestCategory [Value]" />
	    </Rule>
	</Rule>
  </Rule>
</Playlist>

Test Gezgini sütunları

Gruplar, Özellik, Yığın İzleme, Hata İletisi ve Tam Ad ile birlikte Test Gezgini'nde sütun olarak da kullanılabilir. Sütunların çoğu varsayılan olarak görünür değildir ve hangi sütunları göreceğinizi ve hangi sırada göründüklerini özelleştirebilirsiniz.

Screenshot of the Visual Studio Test Explorer showing a menu with Columns selected and a sub-menu with Duration, Traits, and Error Message selected.

Test sütunlarını filtreleme, sıralama ve yeniden düzenleme

Sütunlar filtrelenebilir, sıralanabilir ve yeniden düzenlenebilir.

  • Belirli özelliklere göre filtrelemek için, Özellikler sütununun üst kısmındaki filtre simgesine tıklayın.

    Column filter

  • Sütunların sırasını değiştirmek için bir sütun üst bilgisine tıklayın ve sola veya sağa sürükleyin.

  • Sütunu sıralamak için sütun üst bilgisine tıklayın. Tüm sütunlar sıralanamaz. Ayrıca, Shift tuşunu basılı tutarak ve ek bir sütun üst bilgisine tıklayarak ikincil sütuna göre de sıralama yapabilirsiniz.

    Column sort

Test Gezgini sütunları

Gruplar, Özellik, Yığın İzleme, Hata İletisi ve Tam Ad ile birlikte Test Gezgini'nde sütun olarak da kullanılabilir. Sütunların çoğu varsayılan olarak görünür değildir ve hangi sütunları göreceğinizi ve hangi sırada göründüklerini özelleştirebilirsiniz.

Screenshot of the Visual Studio Test Explorer showing a menu with Columns selected and a sub-menu with Duration, Traits, and Error Message selected.

Test sütunlarını filtreleme, sıralama ve yeniden düzenleme

Sütunlar filtrelenebilir, sıralanabilir ve yeniden düzenlenebilir.

  • Belirli özelliklere göre filtrelemek için, Özellikler sütununun üst kısmındaki filtre simgesine tıklayın.

    Column filter

  • Sütunların sırasını değiştirmek için bir sütun üst bilgisine tıklayın ve sola veya sağa sürükleyin.

  • Sütunu sıralamak için sütun üst bilgisine tıklayın. Tüm sütunlar sıralanamaz. Ayrıca, Shift tuşunu basılı tutarak ve ek bir sütun üst bilgisine tıklayarak ikincil sütuna göre de sıralama yapabilirsiniz.

    Column sort

Test listesini arama ve filtreleme

Ayrıca, görüntüleyip çalıştırdığınız projelerinizdeki test yöntemlerini sınırlamak için Test Gezgini arama filtrelerini de kullanabilirsiniz.

Test Gezgini arama kutusuna bir dize yazıp Enter'ı seçtiğinizde, test listesi yalnızca tam adları dizeyi içeren testleri görüntüleyecek şekilde filtrelenmiş olur.

Farklı ölçütlere göre filtrelemek için:

  1. Arama kutusunun sağındaki açılan listeyi açın.

  2. Yeni bir ölçüt seçin.

  3. Tırnak işaretleri arasına filtre değerini girin. İçeren eşleşme yerine dizede tam eşleşme aramak istiyorsanız iki nokta üst üste (:)) yerine eşittir işareti (=) kullanın.

Filter tests in Test Explorer

Filter tests in Test Explorer

Not

Aramalar büyük/küçük harfe duyarsızdır ve belirtilen dizeyi ölçüt değerinin herhangi bir bölümüyle eşleştirir.

Niteleyici Açıklama
İl Test Gezgini kategori adlarının eşleşmelerini arar: Başarısız Testler, Atlanan Testler, Geçirilen Testler.
Özellik Eşleşmeler için hem özellik kategorisini hem de değeri arar. Özellik kategorilerini ve değerlerini belirtmek için söz dizimi, birim testi çerçevesi tarafından tanımlanır.
Tam Ad Eşleşmeler için test ad alanlarının, sınıfların ve yöntemlerin tam adını arar.
Proje Test projesi adlarını eşleşmeler için arar.
Hedef Çerçeve Test çerçevelerinde eşleşmeleri arar.
Ad alanı Test ad alanlarının eşleşmelerini arar.
Sınıfı Test sınıflarının adlarını eşleşmeler için arar.

Filtre sonuçlarının bir alt kümesini dışlamak için aşağıdaki söz dizimini kullanın:

FilterName:"Criteria" -FilterName:"SubsetCriteria"

Örneğin, FullName:"MyClass" - FullName:"PerfTest" adında "PerfTest" de bulunan testler dışında, adında "MyClass" bulunan tüm testleri döndürür.

Birim testi kod kapsamını analiz etme

Visual Studio Enterprise sürümünde kullanılabilen Visual Studio kod kapsamı aracını kullanarak birim testleriniz tarafından gerçekten test edilen ürün kodu miktarını belirleyebilirsiniz. Kod kapsamını seçili testlerde veya çözümdeki tüm testlerde çalıştırabilirsiniz.

Bir çözümde test yöntemleri için kod kapsamını çalıştırmak için:

  • Test Gezgini'ne sağ tıklayın ve Seçili testler için Kod Kapsamını Analiz Et'i seçin

Kod Kapsamı Sonuçları penceresi, satır, işlev, sınıf, ad alanı ve modül tarafından çalıştırılan ürün kodu bloklarının yüzdesini görüntüler.

Daha fazla bilgi için bkz . Ne kadar kodun test edildiğini belirlemek için kod kapsamını kullanma.

Test kısayolları

Testler, testteki kod düzenleyicisine sağ tıklayıp Testi çalıştır'ı seçerek veya Visual Studio'daki varsayılan Test Gezgini kısayollarını kullanarak Test Gezgini'nden çalıştırılabilir. Kısayollardan bazıları bağlam tabanlıdır. Bu, imlecinizin kod düzenleyicisinde nerede olduğuna bağlı olarak testleri çalıştırdıkları , hatalarını ayıkladıkları veya profil testleri yaptıkları anlamına gelir. İmleciniz bir test yönteminin içindeyse, bu test yöntemi çalışır. İmleciniz sınıf düzeyindeyse, o sınıftaki tüm testler çalıştırılır. Bu, ad alanı düzeyi için de aynıdır.

Sık Kullanılan Komutlar Klavye Kısayolları
TestExplorer.DebugAllTestsInContext Ctrl+R, Ctrl T+
TestExplorer.RunAllTestsInContext Ctrl+R, T
TestExplorer.RunAllTests Ctrl+R, A
TestExplorer.RepeatLastRun Ctrl+R, L

Not

Testler yalnızca soyut sınıflarda tanımlandığından ve örneklenmediğinden, soyut sınıfta test çalıştıramazsınız. Soyut sınıflarda testleri çalıştırmak için soyut sınıftan türetilen bir sınıf oluşturun.

Sesli ipucu test etme

Test çalıştırması tamamlandığında Test Gezgini bir ses çalabilir. İki ses vardır: test çalıştırmasının tüm geçiş testlerinde başarılı olduğunu belirten bir ses ve test çalıştırmasının en az bir başarısız testle tamamlandığını belirtmek için ikinci bir ses. Bu sesleri varsayılan Windows 11 ses iletişim kutusunda ayarlayabilirsiniz. Bu özellik Visual Studio 2019 Güncelleştirme 16.9 Önizleme 3'te kullanıma sunulmuştur.

  1. Varsayılan Windows 11 ses iletişim kutusunu açın.
  2. Sesler sekmesine gidin.
  3. Microsoft Visual Studio kategorisini bulun. Önceden ayarlanmış sesleri seçmek veya kendi ses dosyanıza göz atmak için Test Çalıştırması Başarılı veya Test Çalıştırması Başarısız seslerini seçin.
    Windows 11 sound dialog