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).
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.
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 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 seçin ve yeni bir gruplandırma ölçütü seçin.
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.
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 seçin ve yeni bir gruplandırma ölçütü seçin.
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.
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.
Ç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.
Ç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.
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.
Ö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.
Ç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.
Ç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.
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.
Ö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.
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.
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.
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.
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.
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.
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:
Arama kutusunun sağındaki açılan listeyi açın.
Yeni bir ölçüt seçin.
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.
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.
- Varsayılan Windows 11 ses iletişim kutusunu açın.
- Sesler sekmesine gidin.
- 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.