Aracılığıyla paylaş


.NET için GitHub Copilot testlerini kullanarak birim testleri oluşturma ve çalıştırma

.NET için GitHub Copilot testini kullanarak birim testleri oluşturup çalıştırarak kod kalitenize olan güveninizi artırın ve test kapsamınızı geliştirin.

Copilot birim testleri oluşturasa da, Visual Studio'da .NET için GitHub Copilot testini kullanarak aşağıdakiler de dahil olmak üzere ek test özelliği elde edersiniz:

  • Birim testleri, çözüm içinde ayrı bir projede oluşturulur.
  • Copilot, C# derleyicisi ve dil semantiğinde temellenmiş, belirlenimci olarak testler oluşturur, bu nedenle onaylar ve uç durumlar tahmin edilebilir ve tür açısından güvenlidir.
  • GitHub Copilot testi, test oluşturma sonrasında birim testlerini oluşturur. Hatalar varsa, .NET için GitHub Copilot'taki birim testi özelliği hataları belirlemeye ve düzeltmeye çalışır ve ardından testleri yeniden çalıştırır.
  • GitHub Copilot testi, Test Gezgini'ni kullanarak testleri çalıştırır.

.NET için GitHub Copilot testi yalnızca MSTest, NUnit ve xUnit çerçevelerini kullanarak C# projeleri için testler oluşturur. Çözümün NUnit veya xUnit'te birim testleri zaten varsa, .NET için GitHub Copilot testi aynı birim testi çerçevesinde yeni testler oluşturur. Çözümde birim testi yoksa, MSTest kullanılarak yeni testler oluşturulur.

Önkoşullar

Başlamak için şunları yapmanız gerekir:

Uyarı

.NET için GitHub Copilot testi ücretli bir GitHub Copilot aboneliği (bireysel, iş veya kuruluş) gerektirir. Ücretsiz Copilot abonelikleri desteklenmez.

Birim testine giriş için bkz. Birim testinin temelleri.

GitHub Copilot testine başlamanın yolları

.NET için GitHub Copilot testlerini çeşitli yollarla başlatabilirsiniz:

  • Copilot Sohbet'ten, Sohbet penceresine bir hedef veya istemin önüne @Test yazın.
  • Düzenleyiciden sağ tıklayarak bağlam menüsünü açın ve Copilot Actions>Generate Tests'ı seçin.
  • Yeni bir Copilot Chat yazışmasında, Copilot Chat buz kırıcı önerileri arasından Birim testleri yaz'ı seçin.

Uyarı

Bağlam menüsü ve kolaylaştırıcı seçenekler, IDE'niz C# koduna odaklandığında otomatik olarak @Test aracıya yönlendirilir. C# olmayan projeler için bu seçenekler bunun yerine genel bir Copilot istemi kullanır.

Komut söz dizimi

GitHub Copilot testi iki istem yöntemini destekler: yapılandırılmış söz dizimi ve serbest biçimli istemler.

Yapılandırılmış söz dizimi

@Test #<target> Belirli kod öğeleri için testler oluşturmak için söz dizimini kullanın:

@Test #<target>

Burada #<target> olabilir:

  • Üye, sınıf, dosya, proje veya çözüm
  • Geçerli değişikliklerinizi test etmek için git diff (#git_changes)
  • Aynı türde birden çok giriş (örneğin, birkaç sınıf veya birkaç dosya)

Uyarı

Karma giriş türleri desteklenmez. Örneğin, bir dosyayla projeyi aynı komut isteminde birleştiremezsiniz.

Örnekler:

  • @Test #BankAccount — BankAccount sınıfı için testler oluşturma
  • @Test #git_changes — Geçerli kaydedilmemiş değişiklikleriniz için testler oluşturun
  • @Test #MyProject — MyProject'te tüm kodlar için testler oluşturma

Serbest biçimli komutlar

Test etmek istediğiniz şeyi açıklamak için doğal dil kullanın:

@Test <your prompt>

Örnekler:

Uyarı Description
@Test class Foo Belirli bir sınıf için testler oluşturma
@Test generate tests for the core logic in my #solution Kod tabanınızın belirli alanlarını hedefleme
@Test write unit tests for my current changes Kaydedilmemiş git değişiklikleri için testler oluşturma
@Test fix my failing tests Copilot'dan başarısız olan testleri düzeltmesini isteyin
@Test class Bar, targeting 80% code coverage Kapsam hedefi belirtme
@Test use xUnit with FluentAssertions Test çerçevelerini ve kurallarını belirtme

Tavsiye

Serbest biçimli istemlerinizde test çerçeveleri, örnekleme kitaplıkları, onaylama stilleri ve test kuralları hakkında özel yönergeler verebilirsiniz.

Ek komutlar

GitHub Copilot testi, yardım ve yönetim tercihleri için komutlar sağlar:

Command Description
@Test /help Kullanılabilir komutlar ve söz dizimi ile yardım iletisini görüntüleme
@Test /clear-preferences Onay ayarları dahil olmak üzere depolanan kullanıcı tercihlerini temizleme

Test oluşturma ve çalıştırma

  1. Yeni testlere ihtiyaç duyan mevcut bir C# projelerini açın.

    Mevcut bir projeniz yoksa yeni bir proje oluşturabilir ve ardından Banka örnek uygulama kodunu kullanarak birim testi denemeleri yapabilirsiniz. .NET için birim testleri oluşturun ve çalıştırın başlangıç örnek kodunu Program.csyerine kopyalayın.

  2. Projeyi oluşturun.

    İşlemi basitleştirmek için projenin hatasız derlenmiş olduğundan emin olun.

  3. Visual Studio'da GitHub Copilot Sohbeti Görüntüle'yi >seçin.

  4. GitHub Copilot testini başlatmak için istem yöntemlerinden herhangi birini kullanın.

    Banka örnek uygulaması için aşağıdakilerden birini kullanın:

    • Yapılandırılmış: @Test #BankAccount
    • Freeform: @Test generate comprehensive tests for the BankAccount class

    Uyarı

    Komutu girdiğinizde, @Test Ask modunda veya Agent modunda olabilirsiniz. Sonuçlar farklı değildir.

    Test komutu sohbette aşağıdaki gibi görünür ve komutun tanındığını gösterir.

    Test oluşturmaya yönelik komutun ekran görüntüsü.

  5. Sohbet penceresinde Gönder'i seçin.

    .NET için GitHub Copilot testi kodunuzu analiz etmek, birim testleri için yeni bir proje oluşturmak, testleri oluşturmak, oluşturmak ve çalıştırmak için yinelemeli bir süreç başlatır.

    Test oluşturma uzun süre çalışan bir işlemdir. Hedefinizin kapsamına (dosya, proje, çözüm vb.) bağlı olarak bu işlem biraz zaman alabilir.

    Test oluşturmayı başlatan Copilot'ın ekran görüntüsü.

    Birim testleri oluşturulduğunda, testler çözümdeki ayrı bir test projesinde görünür.

    Oluşturulan örnek testin ekran görüntüsü.

    Test Gezgini sonuçları gösterir. Test Gezgini, GitHub Copilot testi tarafından otomatik olarak açılmadıysa Test>Test Gezgini seçin.

    Test Gezgini çıktısının ekran görüntüsü.

    Bu noktada test çalıştırmaya devam etmek için Test Gezgini'ni el ile kullanabilir veya test sonuçları hakkında Copilot ile sohbet edebilirsiniz. Başarısız testlerde hata ayıklamak için Copilot'ı da kullanabilirsiniz. Daha fazla bilgi için bkz. Birim testlerinin hatalarını ayıklama.