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ı en düşük 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 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ün açık bir derlemesini yaparak geri yükleme. Üst düzey Visual Studio menüsünden Derleme>Yeniden Derleme Çözümü'ne tıklayın.
  • Çö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, Canlı Birim Testini Test>Et Çö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 özel durumlara 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 yoksay 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ı.

Not

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 durdurulür. 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 iletişim kutusunun sol bölmesinde Canlı Birim Testi'ni seçin.

Canlı Birim Testi etkinleştirildikten sonra (bkz. Canlı Birim Testini Başlatma, duraklatma ve durdurma), Canlı Birim Testi> Seçeneklerini Test>Et'i seçerek Seçenekler iletişim kutusunu da açabilirsiniz.

Aşağıdaki görüntüde, iletişim kutusunda sağlanan Canlı Birim Testi yapılandırma seçenekleri gösterilmektedir.

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

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 günlüğe kaydetme (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, adlı VS_UTE_DIAGNOSTICSkullanıcı düzeyinde 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 derlemenizi özelleştirme

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ı ekleme

Çözümünüz , "normal" yetkisiz derleme için gerekli olmayan izleme (Live Unit Testing) derlemesi için özel adımlar gerektiriyorsa, projenize veya özelliği denetleyen BuildingForLiveUnitTesting ve derleme öncesi/sonrası özel adımlar gerçekleştiren .targets dosyalarına kod 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>

test derlemeleri BuildingForLiveUnitTesting için yürütülmemesi gereken bazı görevleri devre dışı bırakmak için özelliğini kullanabilirsiniz. Örneğin, Testler için çözümleyicileri devre dışı bırakmak için Canlı Birim Testi kümeleri <RunAnalyzers>false</RunAnalyzers> .

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.

Not

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ı LiveUnitTestingTestDependency için gerekliyse bu dosyaları ö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.csprojekleyin:

<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ılırken yapılan tüm düzenlemeleri yakalamak için gerekli çalışmayı yapar ve glifleri uygun şekilde güncelleştirir.

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

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şvurulmaktadır..." iletisi 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.

Test Gezgini'ndeki çalma listeleri gibi çalışan bir özellik olan Canlı Birim Testi çalma listesini düzenleyerek Canlı Birim Testi'nin çalıştırılacakları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 program aracılığıyla

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 <>
  • Live Unit Testing>Exclude All But <selected yöntemi>

Çö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'da çö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 program aracılığıyla

Canlı Birim Testi'nde ExcludeFromCodeCoverageAttribute yöntemlerin, sınıfların veya yapıların kapsamını raporlamasını program aracılığıyla dışlamak için özniteliğini 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ştirmeyi görüntüleme

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 çizgiler yalnızca testlerin geçirilmesiyle kapsanmıştır. Kırmızı "x" içeren çizgiler bir veya daha fazla başarısız test kapsamındadı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 geçirilen veya başarısız olan simgesinin üzerine gelerek, bu satıra kaç testin isabet ettiğ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çirildi (yeşil bir "✓" ile birlikte yarım tam bir gaga 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 ("mavi "➖" ile birlikte yarım dolu bir beker 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çirilen veya başarısız sembollerle test yöntemlerini 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 yönteme geçirildiğinde nonalphabetic karakterlerin döndüreceği true yanlış bir varsayımdan System.Char.IsLower 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 Testi Başlat'ı >seçerek Canlı Birim Testi'ni>başlatabilirsiniz. Canlı Birim Testi penceresini, Diğer Windows>Live Birim Testi Penceresini Görüntüle'yi>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 görüntüde gösterildiği gibi Canlı Birim Testi penceresi tüm testleri kaybolur.

Soluk test sonuçları, 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 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, izlemeli 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 kuyruğa alınan çalıştırmayı hemen zamanlar. Bu işlem, ilk çalıştırmanın tamamlanmasının uzun süreceği senaryolarda yardımcı olur.

Ayrıca bkz.