Aracılığıyla paylaş


Canlı Birim Testi'ni yapılandırma ve kullanma

Bir uygulama geliştirirken, Canlı Birim Testi etkilenen tüm birim testlerini arka planda otomatik olarak çalıştırır ve sonuçları ve kod kapsamını gerçek zamanlı olarak sunar. Kodunuzu değiştirdiğinizde, Live Unit Testing değişikliklerinizin mevcut testleri nasıl etkilediği ve eklediğiniz yeni kodun bir veya daha fazla mevcut test kapsamında olup olmadığı hakkında geri bildirim sağlar. Bu geri bildirim, hata düzeltmeleri yaparken veya yeni özellikler eklerken birim testleri yazmanızı anımsatır.

Testleriniz için Live Unit Testing kullandığınızda, testlerinizin durumuyla ilgili veriler kalıcı olur. Kalıcı verilerin kullanılması, Dinamik Birim Testi'nin kod değişikliklerine yanıt olarak testlerinizi dinamik olarak çalıştırırken üstün performans sunmasını sağlar.

Canlı Birim Testi yalnızca Visual Studio'nun Enterprise sürümünde .NET Core veya .NET Framework'i hedefleyen projeler için kullanılabilir.

Desteklenen test çerçeveleri

Canlı Birim Testi, aşağıdaki tabloda listelenen üç popüler birim testi çerçevesiyle çalışır. Bağdaştırıcılarının ve çerçevelerinin desteklenen en düşük sürümü de gösterilir. Birim testi çerçevelerinin tümü NuGet.org kullanılabilir.

Test çerçevesi Visual Studio bağdaştırıcısının asgari sürümü Çerçeve en düşük sürümü
xUnit.net xunit.runner.visualstudio sürüm 2.2.0-beta3-build1187 xunit 1.9.2
NUnit (Türkçe) NUnit3TestAdapter sürüm 3.5.1 NUnit sürüm 3.5.0
MSTest MSTest.TestAdapter 1.1.4-preview MSTest.TestFramework 1.0.5-preview

Microsoft.VisualStudio.QualityTools.UnitTestFramework'e başvuran eski MSTest tabanlı test projeleriniz varsa ve daha yeni MSTest NuGet paketlerine geçmek istemiyorsanız, Visual Studio 2019 veya Visual Studio 2017'ye yükseltin.

Bazı durumlarda, Canlı Birim Testi'nin çalışması için bir proje tarafından başvuruda bulunan NuGet paketlerini açıkça geri yüklemeniz gerekebilir. İki seçeneğiniz vardır:

  • Çözümü açıkça derleyerek geri yükleyin. Visual Studio'nun üst düzey menüsünden Derle>Çözümü Yeniden Derle'yi seçin.
  • Çözümdeki paketleri geri yükleyin. Çözüme sağ tıklayın ve NuGet Paketlerini Geri Yükle'yi seçin.

Yapılandırma

Bir çözüm için Canlı Birim Testi'ni ilk kez başlattığınızda, kurulum sihirbazı Canlı Birim Testi'nin test oluşturma ve çalıştırma biçimini yapılandırmanıza olanak tanır.

Canlı Birim Testi durdurulduğunda, Test>Canlı Birim Testi>Çözüm için Canlı Birim Testini Yapılandır'a giderek kurulum sihirbazını da açabilirsiniz.

Canlı Birim Testi çalıştırıldığında, özgün deponun bir kopyası olan bir çalışma alanı oluşturur. Canlı Birim Testi daha sonra Visual Studio'da yaptığınız kaydedilmemiş değişiklikleri çalışma alanına uygular, derleme gerçekleştirir, test çalıştırması yapar ve en son kod kapsamına ilişkin raporlar sunar.

Sihirbazı kullanarak yapılandırmanız gereken ilk şey, dosyaların kopyalanması gereken yer ve kopyalanmaları gereken yerdir.

Canlı Birim Testi yapılandırma sihirbazının 1. sayfasını gösteren ekran görüntüsü.

Depo kökü

Depo kökü, Canlı Birim Testi çalışma alanını oluşturmak için kopyalanacak klasörü belirtir. Deponun kök klasörü olmalıdır, yani tüm kaynakları, ikili dosyaları ve araçları içermelidir. Çözüm dosyasının depo kökü altında mevcut olmadığı durumlarda, depo kökünde değişiklik yapılması gerekebilir.

Çalışma alanı kökü

Çalışma alanı kökü, Live Unit Testing'in deponun bir kopyasını tuttuğu klasörü belirtir. Yolun çok uzun olduğunu gösteren istisnalara dikkat edin. Varsayılan olarak kök, giriş klasörünüz altında oluşturulur. Ancak, örnek olarak, normalde deponuzu C sürücüsü altında oluşturmanız gerekiyorsa, çalışma alanı kökü C:\lut\Repo gibi bir değere ayarlanabilir.

Dışlanan dosyaları belirtme

Tüm dosyalar Canlı Birim Testi çalışma alanına kopyalanmamalıdır. Derleme sırasında oluşturulan tüm yapıtlar, normal derlemelerin Canlı Birim Testi derlemelerine müdahale etmemesi için kopyalamanın dışında tutulmalıdır. Ayrıca, normal nuget restore komut Canlı Birim Testi nuget restore komutunu engellememelidir.

Varsayılan olarak, Live Unit Testing iki dosya desenlerinden birini dışlar:

  • Git depoları için gitignore dosyasında belirtilen dosyalar Canlı Birim Testi çalışma alanına kopyalanmamıştır.
  • Git dışı depolar için , bin/ ve obj/ gibi temel klasör listesi Canlı Birim Testi çalışma alanına kopyalanmamıştır.

Daha karmaşık depolar için kendi gözardı dosyanızı belirtmeniz gerekebilir. Sihirbazdan "<Özel>" seçeneğini belirleyin. İleri'yi seçtikten sonra, sihirbazı tamamladıktan sonra Live Unit Testing tarafından oluşturulan özel yoksay dosyasının içeriği görüntülenir. Bu lutignore dosyası.

Uyarı

Bazı Git depoları için özel bir lutignore dosyası gereklidir çünkü gitignore dosyası tarafından da yoksayılan Git deposundaki dosyaları denetlemek mümkündür. Özel lutignore dosyası olmadan, Live Unit Testing bu dosyaları kopyalamaz ve bu da derleme hatalarına neden olabilir.

Lutignore dosya yapısı

Lutignore dosyası gitignore dosyasıyla aynı biçimi kullanır. Çalışma alanına kopyalanmamaları için derleme sırasında oluşturulan klasör veya dosyalarla eşleşen kurallar içermelidir. Varsayılan proje şablonlarının çoğu için aşağıdaki yoksayma dosyası yeterlidir:

[Bb]in
[Oo]bj
# WILL NOT COPY ANY BIN AND OBJ FOLDERS TO THE LIVE UNIT TESTING WORKSPACE

Deponuzun tek bir derleme klasörü varsa, yoksay dosyası bunun yerine bu klasörü listelemelidir:

[Aa]rtifacts/
# WILL NOT COPY THE ARTIFACTS FOLDER TO THE LIVE UNIT TESTING WORKSPACE

Deponuz derleme klasöründe başka araçlar içeriyorsa, bu araçlar eşleşen desenler kümesinde hariç tutulmalıdır:

[Aa]rtifacts/
![Aa]rtifacts/tools/
# WILL NOT COPY THE ARTIFACTS FOLDER TO THE LIVE UNIT TESTING WORKSPACE
# HOWEVER IT WILL COPY THE TOOLS SUBFOLDER THAT MIGHT CONTAIN TOOLS AND UTILITIES

Derleme seçenekleri

Sihirbaz yapılandırma sayfasının ikinci bölümü, derleme seçeneklerini yapılandırdığınız yerdir:

  • PDB oluşturma: Derlemeyi hızlandırmak için, Canlı Birim Testi derlemeler sırasında PDB oluşturmaz. Bu sembol dosyaları, test hataları oluştuğunda yığın izlemelerine gitmenize olanak sağlar.
  • Birden çok CPU çekirdeği kullanarak derleme: Live Unit Testing varsayılan olarak derlemeleri birden çok CPU çekirdeği kullanarak gerçekleştirir ve bu da derleme sürelerini iyileştirir. Makineniz yavaşlarsa veya çözümünüz birden çok işlemci kullanılarak oluşturulamazsa bu seçeneği belirlemeyin.

Test çalıştırması seçenekleri

Sihirbaz yapılandırma sayfasının son bölümü, test çalıştırması seçeneklerini ayarladığınız yerdir:

  • Test çalışması zaman aşımı: Testlerden bazılarının çalıştırılması uzun sürebilir. Testlerden herhangi biri belirli bir süreyi aşarsa, bu alanın ayarlanması otomatik olarak çalışmayı durdurur. Testler otomatik olarak iptal edilebilir.
  • Birden çok işlemci kullanma: Live Unit Testing, varsayılan olarak çalıştırma performansını hızlandırmak için birden çok işlemci kullanmaya çalışır. Makineniz yavaşlarsa veya çözümünüz testleri paralel olarak çalıştıramıyorsa bu seçeneği belirlemeyin. Örneğin, birden çok test aynı dosya yollarından yazmaya/okumaya çalışırsa bu senaryolar oluşabilir.

Daha fazla yapılandırma

Üst düzey Visual Studio menü çubuğunda Araçlar>Seçenekleri'ni seçerek Canlı Birim Testi'ni yapılandırın.

Seçenekler bölmesinde Tüm Ayarlar>Test>Canlı Birim Testi bölümünü genişletin.

Canlı Birim Testi yapılandırma seçeneklerini gösteren ekran görüntüsü.

Seçenekler iletişim kutusunda Canlı Birim Testi>Genel bölümünü genişletin.

Canlı Birim Testi yapılandırma seçeneklerini gösteren ekran görüntüsü.

Canlı Birim Testi etkinleştirildikten sonra (bkz. Canlı Birim Testini Başlatma, duraklatma ve durdurma)Canlı Birim Testi>Seçeneklerini> Et'i seçerek seçenekleri yeniden açabilirsiniz.

Yapılandırılabilir seçenekler şunlardır:

  • Bir çözüm oluşturulduğunda ve hata ayıklandığında Canlı Birim Testi'nin duraklatılıp duraklatılmayacağı.

  • Bir sistemin pil gücü belirtilen eşiğin altına düştüğünde Canlı Birim Testinin duraklatılıp duraklatılmayacağı.

  • Kalıcı olan tüm verileri silme özelliği. Bu özellik, Canlı Birim Testi öngörülemeyen veya beklenmeyen bir şekilde davrandığında kullanışlıdır ve bu da kalıcı verilerin bozuk olduğunu gösterir.

  • Canlı Birim Testi işlemlerinin kullanabileceği maksimum bellek miktarı.

  • Canlı Birim Testi Çıktısı penceresine yazılan bilgi düzeyi.

    Seçenekler arasında kayıt tutma (Yok), yalnızca hata iletileri (Hata), hata ve bilgilendirme iletileri (Bilgi, varsayılan) veya tüm ayrıntılar (Ayrıntılı) bulunur.

    Ayrıca, kullanıcı düzeyinde VS_UTE_DIAGNOSTICS adlı bir ortam değişkenine 1 değeri atayarak Canlı Birim Testi Çıkışı penceresinde ayrıntılı çıktı görüntüleyebilirsiniz. Ardından Visual Studio'yu yeniden başlatın.

    Bir dosyada Canlı Birim Testi'nden ayrıntılı MSBuild günlük iletilerini yakalamak için, kullanıcı düzeyi ortam değişkenini günlüğü içerecek şekilde dosyanın adı olarak ayarlayın LiveUnitTesting_BuildLog .

Canlı Birim Testi için yapınızı özelleştirin.

Daha karmaşık çözümler için derlemeyi daha fazla özelleştirmek gerekebilir. Örneğin, test çalıştırmaları sırasında çeviri dosyaları oluşturmak gerekli olmayabilir. Derlemelerinizi hızlandırmak için Live Unit Testing ile çeviri dosyası derlemesini devre dışı bırakabilirsiniz. Bunu, proje dosyalarını işleyerek yapabilirsiniz.

Canlı Birim Testi geçersiz kılmaları ekle

Çözümünüz, "normal" enstrümansız derleme için gerekli olmayan izleme (Live Unit Testing) derlemesi için özel adımlar gerektiriyorsa, özelliğini denetleyen ve özel derleme öncesi/sonrası adımlar gerçekleştiren kodu projenize veya .targets dosyalarınıza ekleyebilirsiniz.

Örneğin, yalnızca Canlı Birim Testi için yürütülen başka bir hedef eklemek için aşağıdaki örneği yazabilirsiniz:

<Target Name="GenerateNuGetPackages" BeforeTargets="AfterBuild" Condition="'$(BuildingForLiveUnitTesting)' == 'true'">
    <Exec Command='"$(MSBuildThisFileDirectory)..\tools\GenPac" '/>
</Target>

Bazı görevlerin test derlemeleri için yürütülmemesi gerektiğinde, bu görevleri devre dışı bırakmak amacıyla BuildingForLiveUnitTesting özelliğini kullanabilirsiniz. Örneğin, Canlı Birim Testi, testler için çözümleyicileri devre dışı bırakacak şekilde <RunAnalyzers>false</RunAnalyzers> ayarlar.

Live Unit Testing test bağımlılıkları

Testlerin çalışması için gereken tüm dosyaların kopyalanmaması mümkündür. Live Unit Testing, testleri çalıştırdığı ayrı bir klasör oluşturur. Bu düzenleme, testler çalışırken derlemelerin gerçekleşmesini sağlar, ancak derleme klasöründeki tüm dosyalar test klasörüne kopyalanmaz.

Genellikle test bağımlılıklarını iki nedenden biri için eklersiniz:

  • Testleriniz kaynak ağaç altındaki dosyalara bağlıdır. Örneğin, testler resx dosyalarının içeriğini inceler veya bazı yapılandırma dosyalarını okuyabilir.
  • Testleriniz başvurdıkları bazı kitaplıklara bağlıdır. Örneğin, bir test bağımlılık olarak oluşturulmuş bir yürütülebilir dosya çalıştırır.

Uyarı

Test bağımlılıkları, kurulum sihirbazında Depo Kökü olarak belirtilen dizin içinde bulunmalıdır.

Her iki durumda da Live Unit Testing, bir testi çalıştırmak için kopyalanması gereken dosya sayısını en aza indirmek amacıyla bu dosyaları varsayılan olarak kopyalamaz. Bir test çalıştırması için gerekiyorsa, bu dosyaları LiveUnitTestingTestDependency özelliğini kullanarak açıkça belirtmeniz gerekir. Örneğin, aşağıdaki düzene sahip olduğumuzu varsayalım:

SRC/
  CONSOLE_UTILITY/
  TEST_PROJECT/
ARTIFACTS/
  CONSOLE_UTILITY/NET472/DEBUG/
  TEST_PROJECT/NET472/DEBUG/

Varsayılan olarak, bu projeleri Live Unit Testing ile oluşturduğunuzda, yalnızca test klasörüne kopyalanır Artifacts/Test_Project . Test klasörüne kaynak veya console_utility eklemek için aşağıdaki örneği öğesine test_project.csproj ekleyin:

<LiveUnitTestingTestDependency Include=”$(RepoRoot)/Src/ConsoleUtility” />
<LiveUnitTestingTestDependency Include=”$(RepoRoot)/Artifacts/ConsoleUtility/net472/$(Configuration)/</LiveUnitTestingTestDependency” />

Başlatma, duraklatma ve durdurma

Canlı Birim Testi'ni etkinleştirmek için üst düzey Visual Studio menüsünden Test >Canlı Birim Testi>Başlangıç'ı seçin. Canlı Birim Testi etkinleştirildiğinde, Canlı Birim Testi menüsündeki seçenekler Başlat adlı tek bir öğeden Duraklatma ve Durdurma seçeneğine dönüşür:

  • Duraklatma Live Unit Testing'i geçici olarak askıya alır.

    Canlı Birim Testi duraklatıldığında, düzenleyicide kapsam görselleştirmesi görünmez, ancak toplanan tüm veriler korunur. Canlı Birim Testi'ne devam etmek için Canlı Birim Testi menüsünde Devam'ı seçin. Canlı Birim Testi, duraklatıldığı süre boyunca yapılan tüm düzenlemelere yetişmek için gerekli çalışmayı yapar ve glifleri uygun şekilde günceller.

  • Durdur Canlı Birim Testi'ni tamamen durdurur. Canlı Birim Testi, topladığı tüm verileri siler.

Canlı Birim Testi'ni birim testi projesi içermeyen bir çözümde başlatırsanız, Canlı Birim Testi menüsünde Duraklat ve Durdur seçenekleri görünür, ancak Canlı Birim Testi başlatılmaz. Çıkış penceresinde "Bu çözüm tarafından desteklenen test bağdaştırıcılarına başvurulmamaktadır..." şeklinde başlayan bir ileti görüntülenir.

İstediğiniz zaman Live Unit Testing'i geçici olarak duraklatabilir veya tamamen durdurabilirsiniz. Örneğin, yeniden düzenlemenin ortasındaysanız ve testlerinizin bir süre bozulacağını biliyorsanız bu eylemleri gerçekleştirmek isteyebilirsiniz.

Test projelerini ve test yöntemlerini dahil edip hariç tutma

Canlı Birim Testi'ni başlattığınızda, Canlı Birim Testi araç penceresi görüntülenir ve Canlı Birim Testi tarafından test etmek istediğiniz test kümesini seçmenizi ister.

Canlı Birim Testi ilk kez başlatıldığında gösterilen araç penceresini gösteren ekran görüntüsü.

Birim testlerinin çok az zaman aldığı daha küçük çözümler için Tüm testleri dahil et'i seçerek Canlı Birim Testi'nin tüm testleri çalıştırmasını sağlayın.

Birçok test projesine sahip daha büyük çözümler için, çalma listesini düzenleyerek bir projedeki hangi projelerin ve tek tek yöntemlerin Canlı Birim Testi'ne katılabileceğini denetleyebilirsiniz. Örneğin, yüzlerce test projesi içeren bir çözümünüz varsa, Canlı Birim Testi'ne katılmak için hedeflenen test projeleri kümesini seçebilirsiniz.

Canlı Birim Testi çalma listesini düzenleyerek, Test Gezgini'ndeki çalma listeleri gibi çalışan bir özellik yardımıyla, Canlı Birim Testi'nin neyi çalıştıracağını seçersiniz.

Canlı Birim Testi çalma listesini düzenlemenin birden çok yolu vardır:

  • Canlı Birim Testi araç penceresi
  • Kod düzenleyicisi penceresi
  • Çözüm Gezgini
  • Test kodunda programatik olarak

Canlı Birim Testi, ekleme/dışlama durumunu kullanıcı ayarı olarak kaydeder ve bir çözüm kapatılıp yeniden açıldığında bunu anımsar.

Canlı Birim Testi araç penceresi

Projeleri, ad alanlarını veya sınıfları yürütmeye dahil etmek veya bunların dışında tutmak için Canlı Birim Testi sekmesinin çalma listesi düzenleyicisini kullanabilirsiniz. Araç penceresinde Çalma listesini düzenle'yi seçin.

Testleri dahil etmek veya hariç tutmak için ağaç görünümü öğelerini seçebilir veya temizleyebilirsiniz. Örneğin, tek bir testi denetlerseniz, Canlı Birim Testi bunu değişiklikler üzerinde çalıştırır. Bir sınıf seçerseniz, bu sınıftaki tüm testler ve o sınıfa eklenen tüm yeni testler de çalıştırılır.

Canlı Birim Testi çalma listesi düzenleyicisini gösteren ekran görüntüsü.

Kod düzenleyicisi penceresi

Tek tek test yöntemlerini dahil etmek veya hariç tutmak için kod düzenleyicisi penceresini kullanabilirsiniz. Kod düzenleyicisi penceresinde test yönteminin imzasına veya gövdesine sağ tıklayın ve aşağıdaki seçeneklerden birini belirleyin:

  • Canlı Birim Testi>Seçili yöntemi< dahil et >
  • Canlı Birim Testi>Seçili yöntemi< dışla >
  • Canlı Birim Testi>Seçilmiş yöntem hariç tümünü hariç tut>

Çözüm Gezgini

Birim testlerinde tek tek projeleri seçmek için Canlı Birim Testi başlatıldıktan sonra şu adımları izleyin:

  1. Çözüm Gezgini'nde çözüme sağ tıklayın ve çözümün tamamını dışlamak için Canlı Birim Testi>Dışla'yı seçin.
  2. Testlere eklemek istediğiniz her test projesine sağ tıklayın ve Canlı Birim Testi>Dahil Et'i seçin.

Test kodunda programatik olarak

Canlı Birim Testi kapsam bildirimlerinde ExcludeFromCodeCoverageAttribute özniteliğini, yöntemlerin, sınıfların veya yapıların kapsam bildirimlerinden program aracılığıyla dışlamak için uygulayabilirsiniz.

Tek tek yöntemleri Canlı Birim Testi'nin dışında tutmak için aşağıdaki öznitelikleri kullanın:

  • xUnit: [Trait("Category", "SkipWhenLiveUnitTesting")]
  • NUnit: [Category("SkipWhenLiveUnitTesting")]
  • MSTest: [TestCategory("SkipWhenLiveUnitTesting")]

Test derlemesinin tamamını Canlı Birim Testi'nin dışında tutmak için aşağıdaki öznitelikleri kullanın:

  • xUnit: [assembly: AssemblyTrait("Category", "SkipWhenLiveUnitTesting")]
  • NUnit: [assembly: Category("SkipWhenLiveUnitTesting")]
  • MSTest: [assembly: TestCategory("SkipWhenLiveUnitTesting")]

Kapsam görselleştirmesini görüntüle

Canlı Birim Testi etkinleştirildikten sonra, yazdığınız kodun birim testlerinin kapsamında olup olmadığını ve bunu kapsayan testlerin geçirilip geçirmediğini göstermek için Visual Studio düzenleyicisindeki her kod satırını güncelleştirir.

Aşağıdaki görüntüde, başarılı ve başarısız testleri olan kod satırları ve testlerin kapsamına almayan kod satırları gösterilmektedir. Yeşil "✓" olan satırlar yalnızca geçen testlerle kapsanır. Kırmızı "x" içeren çizgiler bir veya daha fazla başarısız test tarafından kapsanmaktadır. Mavi "➖" içeren çizgiler herhangi bir test kapsamında değildir.

Visual Studio'da kod kapsamını gösteren ekran görüntüsü.

Kod düzenleyicisinde kodu değiştirdiğinizde Canlı Birim Testi kapsamı görselleştirmesi hemen güncelleştirilir. Düzenlemeler işlenirken görselleştirme, aşağıdaki görüntüde gösterildiği gibi geçirilen, başarısız olan ve kapsanmayan simgelerin altına yuvarlak bir zamanlayıcı görüntüsü ekleyerek verilerin güncel olmadığını gösterecek şekilde değişir.

Visual Studio'da zamanlayıcı simgesiyle kod kapsamını gösteren ekran görüntüsü.

Test durumu hakkında bilgi alma

Kod penceresinde başarı veya başarısızlık simgesinin üzerine gelerek o satıra kaç testin denk geldiğini görebilirsiniz. Tek tek testlerin durumunu görmek için simgesini seçin.

Visual Studio'da bir simgenin test durumunu gösteren ekran görüntüsü.

Araç ipucu, testlerin adlarını ve sonucunu sağlamanın yanı sıra test kümesini yeniden çalıştırmanıza veya hata ayıklamanıza olanak tanır. Araç ipucundaki testlerden birini veya daha fazlasını seçerseniz, yalnızca bu testleri çalıştırabilir veya hatalarını ayıklayabilirsiniz. Bu eylem, kod penceresinden çıkmak zorunda kalmadan testlerinizin hatalarını ayıklamanıza olanak tanır.

Hata ayıklarken, önceden ayarlamış olabileceğiniz kesme noktalarını gözlemlemenin yanı sıra, hata ayıklayıcı beklenmeyen bir sonuç döndüren bir Assert yöntem yürüttüğünde program yürütme duraklatılır.

Araç ipucunda başarısız bir testin üzerine geldiğinizde, aşağıdaki görüntüde gösterildiği gibi hata hakkında daha fazla bilgi sağlamak üzere genişletiliyor. Doğrudan başarısız bir teste gitmek için araç ipucunda teste çift tıklayın.

Visual Studio'da başarısız test araç ipucu bilgilerini gösteren ekran görüntüsü.

Başarısız teste gittiğinizde, Live Unit Testing yöntem imzasında aşağıdakilere sahip testleri görsel olarak gösterir:

  • Geçti (yeşil bir "✓" ile birlikte yarısı dolu bir beher ile gösterilir).
  • Başarısız ( kırmızı "🞩" ile birlikte yarım dolu bir beker ile gösterilir).
  • Live Unit Testing'e dahil değildir (yarım dolu bir beher ile birlikte mavi "➖" ile gösterilir).

Test dışı yöntemler bir simgeyle tanımlanmamıştır. Aşağıdaki görüntüde dört yöntem türü de gösterilmektedir.

Visual Studio'da geçmiş veya kalmış sembollerle test metotlarını gösteren ekran görüntüsü.

Test hatalarını tanılama ve düzeltme

Başarısız testten ürün kodunda kolayca hata ayıklayabilir, düzenlemeler yapabilir ve uygulamanızı geliştirmeye devam edebilirsiniz. Canlı Birim Testi arka planda çalıştığından, hata ayıklama, düzenleme ve devam döngüsü sırasında Live Unit Testing'i durdurmanız ve yeniden başlatmanız gerekmez.

Örneğin, önceki görüntüde gösterilen test hatası, test yönteminde bir yanlış varsayım olan alfabetik olmayan karakterlerin true döndüreceği varsayımından, System.Char.IsLower metoduna geçirildiğinde kaynaklandı. Test yöntemini düzelttikten sonra tüm testler geçmelidir. Canlı Birim Testi'ni duraklatmanıza veya durdurmanıza gerek yoktur.

Canlı Birim Testi penceresi

Test Gezgini'ne benzer şekilde Canlı Birim Testi, testleri çalıştırmanıza ve hatalarını ayıklamanıza ve test sonuçlarını analiz etmenizi sağlayan bir arabirim sağlar. Canlı Birim Testi etkinleştirildiğinde, Test Gezgini'ndeki birim testlerinin durumu hemen güncelleştirilir. Birim testlerini açıkça çalıştırmanız gerekmez.

Canlı Birim Testi etkinleştirilmediğinde veya durdurulduğunda, Canlı Birim Testi bir testin en son çalıştırıldığı zaman birim testlerinin durumunu görüntüler. Live Unit Testing'i yeniden başlattıktan sonra, testleri yeniden çalıştırmak için bir kaynak kodu değişikliği gerekir.

Üst düzey Visual Studio menüsünde Canlı Birim TestiBaşlat'ı> seçerek> başlatabilirsiniz. Canlı Birim Testi penceresini açmak için Görüntüle>Diğer Pencereler>Canlı Birim Testi Penceresi'ni kullanarak da açabilirsiniz.

Canlı Birim Testi penceresinde bazı testlerin soluk olduğunu fark edebilirsiniz. Örneğin, Canlı Birim Testi'ni durdurup yeniden başlattığınızda, aşağıdaki resimde gösterildiği gibi Canlı Birim Testi penceresindeki tüm testler soluklaşır.

Test sonuçlarının soluk görünmesi, testin en son Live Unit Test çalıştırmasının bir parçası olmadığını gösterir. Testler yalnızca testte yapılan bir değişiklik veya testin bağımlılıkları algılandığında çalışır. Herhangi bir değişiklik yoksa testi gereksiz yere çalıştırmaktan kaçınılır. Bu durumda, gri renkteki test sonucu hala "günceldir", ancak en son çalıştırmanın bir parçası değildir.

Test Gezgini'nde soluk görünümlü testlerin gösterildiği ekran görüntüsü.

Bir kod değişikliği yaparak soluk görünen tüm testleri yeniden çalıştırabilirsiniz.

Canlı Birim Testi'nin otomatik olarak çalıştırılması ve test sonuçlarının güncelleştirilmesi ile Test Gezgini'nden testleri açıkça çalıştırma arasında bazı farklar vardır. Bu farklılıklar şunlardır:

  • Test Gezgini penceresinde testleri çalıştırmak veya testlerde hata ayıklamak normal ikili dosyaları çalıştırır. Canlı Birim Testi, enstrümanlı ikili dosyaları çalıştırır.
  • Live Unit Testing, testleri çalıştırmak için yeni bir uygulama etki alanı oluşturmaz. Bunun yerine, testleri varsayılan etki alanından çalıştırır. Test Gezgini penceresinden çalıştırılacak testler yeni bir uygulama etki alanı oluşturur.
  • Canlı Birim Testi, testleri her test derlemesinde sırayla çalıştırır. Test Gezgini penceresinde, birden çok testi paralel olarak çalıştırmayı seçebilirsiniz.

Canlı Birim Testi test çalıştırmalarını iptal etme

Live Unit Testing her kod değişikliği yaptığınızda testleri çalıştırmaya devam eder. Bir çalıştırma devam ediyorsa ve daha fazla kod değişikliği yaparsanız, Live Unit Testing ilk çalıştırmanın tamamlanmasını beklerken başka bir çalıştırmayı kuyruğa alır.

Dosyaları her kaydettiğinizde, Live Unit Testing ilk çalıştırmayı iptal eder ve bunun yerine kuyruktaki çalıştırmayı hemen planlar. Bu işlem, ilk çalıştırmanın tamamlanmasının uzun süreceği senaryolarda yardımcı olur.

Ayrıca bakınız