GitHub Copilot Chat görünümüyle birim testleri oluşturma

Tamamlandı

Visual Studio Code'daki Sohbet görünümü, GitHub Copilot ile birim testleri oluşturmak için birincil yerdir. Sohbet görünümünden bir test çerçevesi yapılandırabilir, bir dosya veya seçim için testler oluşturabilir ve testler projenizin kurallarına uyana kadar sonuçları geliştirebilirsiniz. Bu ünite, oluşturulan testleri doğrudan bir test dosyasına yazan, sonuçta elde edilen testleri çalıştırabilen ve hataları tek bir sohbet isteminden yineleyen Aracı moduna odaklanır. Ayrıca, herhangi bir dosya değişikliği yapmadan test seçeneklerinizi keşfetmek için Önceden Sor modunu da kullanabilirsiniz.

Sohbet görünümünü açma

Aşağıdaki seçeneklerden birini kullanarak Sohbet görünümünü açın:

  • Ctrl + Alt + I (Windows/Linux) veya Cmd + Alt + I (macOS) tuşlarına basın.
  • Başlık çubuğundaki GitHub Copilot simgesini seçin ve ardından Toggle Chat öğesini seçin.

Sohbet görünümü İkincil Yan Çubuk'ta açılır ve gönderdiğiniz her istemi etkileyen üç yapılandırma seçeneği sağlar:

  • Aracı Hedefi: Aracının çalıştığı yer. Aracıyı çalışma alanınıza, araçlarınıza ve modellerinize tam erişimle düzenleyicide etkileşimli olarak çalıştırmak için Yerel'i seçin.
  • Ajan: Yapay zekanın oturum sırasında üstlendiği rol. Yerleşik yerel aracılar Ask, Plan ve Agent'tır.
  • İzin düzeyi: Araçları ve terminal komutlarını çağırırken aracının ne kadar özerkliği vardır? Seçenekler Varsayılan Onaylar, Onayları Atla ve Autopilot'tır.

Birim testi oluşturma için önerilen başlangıç noktası, Agent ve Varsayılan Onaylar'dır. Aracı modu dosyaları düzenleyebilir, terminal komutlarını çalıştırabilir ve testleri yeniden çalıştırabilir, böylece "bu yöntem için testler oluştur" gibi bir istem alabilir ve yalnızca gözden geçirmeniz gereken bir çalışma testi dosyası oluşturabilir. Varsayılan Onaylar, her araç çağrısını onaylamanızı isteyerek sizi bilgilendirir.

İsteğe bağlı olarak, önce test seçeneklerini keşfetmek için Sor modunu kullanın

Soru modu, dosyaları değiştirmeden veya araçları çağırmadan sohbetteki soruları yanıtlar. Bu, Aracı'nın herhangi bir değişiklik yapmasına izin vermeden önce nasıl ilerleyeceğinizi planlamak istediğiniz durumlar için iyi bir seçenektir. Şunu yapmak istediğinizde Sor modunu kullanın:

  • Bir yapıya işlemeden önce karmaşık bir yöntem için aday test çalışmalarını karşılaştırın.
  • Ele alınmaya değer uç durumları ve sınır koşullarını belirleyin.
  • Test çerçevesi veya onay stili için bir öneri alın.
  • Sohbette diske yazmadan örnek bir teste bakın.

Analiz için Ask modunu kullanmak için:

  1. Sohbet görünümünü açın ve aracı seçiciden Sor'a tıklayın.

  2. İlgili dosyayı veya seçimi bağlam olarak ekleyin (örneğin, #selection ile veya bir dosyayı içeri sürükleyerek).

  3. Analiz sorusu sorun. Örneğin: What edge cases should I cover when testing the CalculateDiscount method? List the scenarios and explain why each one matters.

  4. Yanıtı gözden geçirin, ardından gerçek testleri oluşturmak için aracı seçicisini Aracı olarak değiştirin.

/setupTests ile bir test çerçevesi kurun

Projenizde henüz yapılandırılmış bir test çerçevesi yoksa GitHub Copilot bir tane önerebilir ve yapılandırma adımlarını izleyebilirsiniz. /setupTests slash komutu herhangi bir ajanda çalışır, ancak Ajan modu sizin için paketler kurup test projesini de oluşturabilir.

  1. Sohbet görünümünü açın ve Agent seçme menüsünden Aracı seçin.

  2. /setupTests Sohbet girişi alanına komutunu girin.

  3. Agent’ın paketleri yüklemek, test projesini oluşturmak ve Visual Studio Code için test uzantıları önermek amacıyla önerdiği araç çağrılarını ve terminal komutlarını onaylayın.

/setupTests yeni bir test projesi başlatırken veya henüz testleri içermeyen bir projeyi eklerken en kullanışlı olandır.

Testleri /tests ile oluşturun

/tests / komutu, düzenleyicide şu anda etkin olan kod için birim testleri oluşturur. Aracı modunda, oluşturulan testler doğrudan uygun bir test dosyasına yazılır. GitHub Copilot mevcut test çerçevesini ve kodlama stilini algılar ve eşleşen testler üretir.

Dosyanın tamamı için testler oluşturmak için:

  1. Test etmek istediğiniz uygulama kodu dosyasını açın.

  2. Sohbet görünümünü açın ve Aracı'nın seçili olduğunu onaylayın.

  3. Sohbet giriş alanına /tests yazın ve ardından ek yönergeler girin. Örneğin: /tests Generate unit tests for the methods in this file. Include success, failure, and edge cases.

  4. Aracı'nın bağlamı okumak, testleri yazmak ve (isteğe bağlı olarak) bunları çalıştırmak için kullandığı araç çağrılarını onaylayın.

  5. Aracı'nın uyguladığı değişiklikleri gözden geçirin.

    Aracı, kullanılabilir olduğunda testleri mevcut bir test dosyasına ekler veya uygun konumda yeni bir test dosyası oluşturur. Fark düzenleyicide görünür, böylece her değişikliği doğrulayabilirsiniz.

  6. Değişiklikleri kabul etmek veya atmak için Koru veya Geri Al'ı seçin.

Belirli bir yöntem veya kod bloğu için testler oluşturmak için:

  1. Uygulama kodu dosyasını açın.

  2. Test etmek istediğiniz yöntemi veya bloğu seçin.

  3. Sohbet görünümünde, /tests girin ve ardından seçime atıfta bulunan yönergeleri ekleyin. Örneğin: /tests Generate unit tests for the selected method. Validate both success and failure, and include edge cases.

  4. Ortaya çıkan değişiklikleri gözden geçirin ve koruyun ya da reddedin.

Doğal dil istemiyle test oluşturma

Eğik çizgi komutu kullanmak zorunda değilsiniz. Aracı, yeterli bağlam eklediğinizde doğal dil istemlerinden testler oluşturur. Examples:

  • "Bu dosyadaki yöntemler için xUnit testleri oluşturun ve bunları Calculator.Tests projesine ekleyin."
  • Negatif değerler ve sıfır için uç durumlar da dahil olmak üzere, CalculateDiscount yöntemi için birim testleri yazın. Testleri yazdıktan sonra çalıştırın."
  • "Bu modülde veri erişim katmanı için tümleştirme testleri oluşturun."

Aracı komutları çalıştırabildiğinden, doğrulama adımlarını aynı istemde ekleyebilirsiniz. Testleri yazdıktan sonra Ajan’dan bunları çalıştırmasını istemek, işi size geri vermeden önce açık hataları yakalayıp düzeltmesini sağlar.

İstemlerinize bağlam ekleyin

Oluşturulan testlerin kalitesi, sağladığınız bağlama bağlıdır. Sohbet görünümü istemine bağlam eklemek için aşağıdaki seçeneklerden birini veya daha fazlasını kullanın:

  • Bağlam Ekle düğmesi: Dosya, klasör, simge veya geçerli düzenleyici seçimini eklemek için Hızlı Seçim'i açın.
  • Sürükleyip bırakın: İçeriği eklemek için dosyaları Gezgin görünümünden sürükleyin veya bir düzenleyici sekmesini Sohbet görünümüne sürükleyin.
  • # bahsetmeler: Bir dosya, klasör veya sembol adını bağlama eklemek için # yazın. Geçerli düzenleyici seçimini eklemek için #selection ya da GitHub Copilot'ın ilgili bağlamı bulmak üzere çalışma alanında arama yapmasına izin vermek için #codebase kullanın.
  • Dış dosyalar: Düzenleyicide markdown dosyalarını (örneğin katkıda bulunan yönergeleri veya test kuralları) açın ve Bağlam Ekle aracılığıyla ekleyin. Aracı, oluşturulan testleri şekillendirmek için içeriği kullanır.

Örneğin, düzenleyicide tek bir yöntem görünüyorsa şunu sorabilirsiniz: Write a unit test for the method in #editor. Birden çok yöntem görünür durumdaysa veya hedef yöntem görünür alanın ötesine uzanıyorsa, önce kodu seçin ve şunu sorun: #selection write unit tests for the selected code.

Aracının değişikliklerini gözden geçirin ve iyileştirin

Agent testleri doğrudan test projenize yazsa da, kontrol sizde kalır:

  • Farkı inceleyin: Aracının değiştirdiği her dosya, önerilen düzenlemeler vurgulanmış olarak düzenleyicide açılır. Farkları kabul etmeden önce gözden geçirin.
  • Koru veya Geri Al: Değişiklikleri kabul etmek için Sakla'yı veya geri almak için Geri Al'ı kullanın. Ayrıca düzenleyiciden tek tek hunk'ları da geri döndürebilirsiniz.
  • Derleme ve çalıştırma: Değişiklikleri korudikten sonra test projesini derleyin ve testleri Test Gezgini'nden veya terminalden çalıştırarak her şeyin derlenip geçtiğini doğrulayın.
  • Yinele: Belirli testleri iyileştirmek, daha fazla servis talebi eklemek veya yöntemleri yeniden adlandırmak için aynı sohbet oturumunda izleme istemlerini kullanın.

Özel yönergelerle test oluşturmayı kişiselleştirme

Kuruluşunuzun belirli test gereksinimleri varsa, GitHub Copilot test oluşturma şeklini özelleştirerek çıkışın standartlarınızla eşleşmesini sağlayabilirsiniz. Özel yönergeler aşağıdakileri kullanmanıza olanak verir:

  • Tercih edilen test çerçevelerini belirtin (örneğin, NUnit yerine xUnit).
  • Test sınıfları ve yöntemleri için adlandırma kuralları tanımlayın.
  • Arrange-Act-Assert deseni gibi kod yapısı tercihlerini ayarlayın.
  • Sınır değerleri için parametreli testler gibi belirli test desenleri isteyin.

Özel yönergeleri çalışma alanınızdaki bir *.instructions.md dosyada depolayın. applyTo Yönergeleri yalnızca test dosyalarına uygulamak için meta veri alanını kullanın. Örneğin, applyTo: tests/** değeri yönergeleri tests/ dizinindeki dosyalarla sınırlar. Dosyayı kaynak denetiminde paylaşmak, ekipteki her geliştiriciye aynı test bağlamını sağlar.

Important

Oluşturulan test senaryoları tüm senaryoları kapsamayabilir. Testlerinizin kalitesinden emin olmak için el ile gözden geçirme ve kod gözden geçirme işlemleri yine de gereklidir.