Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
.NET için GitHub Copilot testi, GitHub Copilot Chat'te Visual Studio ile tümleştirilmiş bir özelliktir. Bu özellik tüm projeler, çözümler, dosyalar, sınıflar veya üyeler için C# kodunun oluşturulmasını, çalıştırılmasını ve testini otomatikleştirir. Her test olayını el ile yazmadan kapsamlı test kapsamını hızla önyüklemek isteyen C# geliştiricileri için tasarlanmıştır. GitHub Copilot testi xUnit, NUnit ve MSTest test çerçeveleri için testler oluşturabilir.
Copilot aracı modundaki tek seferlik istemlerin aksine, .NET için GitHub Copilot testi, test oluşturma için özel olarak tasarlanmış kılavuzlu, uzun süreli bir deneyim sunar. C# derleyicisi ve dil semantiğinde temel alınan belirlenimci sonuçlar üretir ve tahmin edilebilir, bağlama uygun testlerden emin olmak için kod tabanınızın, dosya yapınızın ve test kurallarınızın derin farkındalığını sağlar.
Önkoşullar
- Visual Studio 2026 sürüm 18.3 veya üzeri
- C# projesi
- Ücretli Copilot aboneliğiyleGitHub hesabı kullanarak Visual Studio'da oturum açın
Uyarı
.NET için GitHub Copilot testi ücretli bir GitHub Copilot aboneliği (bireysel, iş veya kuruluş) gerektirir. Ücretsiz Copilot abonelikleri desteklenmez.
.NET için GitHub Copilot testlerini neden kullanmalısınız?
.NET için GitHub Copilot testi, testlerin oluşturulmasıyla ilgili daha genel Copilot özelliklerine kıyasla kapsamlı bir deneyim sunar. .NET için GitHub Copilot'taki birim testi özelliği aşağıdakileri sağlar:
- Randıman: Büyük veya küçük projeler veya çözümler için C# birim testlerini otomatik olarak oluşturun, derleyin ve çalıştırın.
- Tutarlılık: Testlerin en iyi yöntemlere ve proje standartlarına uygun olduğundan emin olun. Testler çözümde ayrı bir test projesinde oluşturulur ve xUnit, NUnit ve MSTest çerçeveleri kullanılarak oluşturulur. Çö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.
- Entegrasyon: Copilot'un yapay zeka özelliklerinden yararlanarak Visual Studio'da sorunsuz çalışır.
- Öngörülebilirlik: Copilot, C# derleyicisi ve dil semantiğinde temel alınan, belirlenimci olarak testler oluşturur, bu nedenle onaylar ve uç durumlar tahmin edilebilir ve tür açısından güvenlidir.
Temel özellikler
- Büyük ölçekte otomatik test oluşturma: Tek dosyalar, tek bir projede birden çok dosya veya çözümlerin tamamı için testler oluşturun.
-
Komut tabanlı etkileşim: Desteklenen komutları ve parametreleri kullanın (GitHub Copilot testi içindeki
/helpiletide listelenir). -
Esnek istemler: Yapılandırılmış
@Test #<target>söz dizimini kullanarak belirli bir kodu hedef alın veya neyi test etmek istediğinizi açıklamak için serbest biçimli doğal dil istemlerini kullanın.
GitHub Copilot testinin yapabilecekleri
Bu özelliği etkinleştirdiğinizde GitHub Copilot testi, test oluşturmak ve doğrulamak için çözümünüzle çeşitli yollarla etkileşim kurar:
- Okumak: Copilot, bağlamı ve bağımlılıkları anlamak için kaynak kodunuzu ve proje yapınızı analiz eder.
- Yazmak: Çözümünüzün içindeki test dosyalarını kendi önerilerine göre oluşturur veya güncelleştirir.
- Yapmak: Araç, kodunuzu derlemek ve oluşturulan testlerin doğru şekilde tümleştirildiğini doğrulamak için derlemeleri tetikler.
- Yürütmek: Geçtiklerini onaylamak ve kapsam ve kalite hakkında geri bildirim sağlamak için testler çalıştırır.
Önemli
Copilot testi, üretim kodunu test oluşturma işleminin dışında değiştirmez. Tüm değişiklikler yerel geliştirme ortamınızda gerçekleşir ve önerileri gözden geçirmek, kabul etmek veya atmak için tam denetime sahip olursunuz.
@Test aracısının yaptığı işlemler
@Test aracısı, test oluşturma sırasında çeşitli eylemler gerçekleştirir. Bu eylemleri anlamak, aracı kullanırken neler bekleyebileceğinizi bilmenize yardımcı olur.
Yapı ve test işlemleri
Aracı, aşağıdaki işlemleri gerçekleştirmek için Visual Studio API'lerini (veya dotnet restoregibi dotnet test komut satırı araçlarını değil) kullanır:
- Geri yükleme ve derleme: Paketleri geri yükler ve kapsam temelinde projeler oluşturur (tek bir projeden çözümün tamamına kadar).
- Testleri çalıştırma: Öncelikli olarak yalnızca oluşturulan testleri çalıştırır. Ancak, ilk ve sonuçta elde edilen kod kapsamını (ve kapsam iyileştirme modu için) hesaplamak için aracı, verilen kapsam içindeki tüm testleri çalıştırır.
-
Git farkını işleme: Fark modunu ()
#git_changeskullanırken aracı, hedeflenen testler oluşturmak için kaydedilmemiş değişikliklerinizi analiz eder.
Paket yükleme
Aracı, NuGet paketlerini gerektiği gibi yükler:
- Test çerçevesi paketleri (MSTest, NUnit veya xUnit)
- Mevcut değilse mock framework paketlerini yükleyin
- Microsoft Test Platformu (MTP) için kapsam ve TRX uzantıları mevcut değilse
LLM işlemleri
Aracı, aşağıdakiler için LLM çağrıları yapar:
- Serbest biçimli istem analizi
- Özet işleme
- Test oluşturma
Proje ve dosya değişiklikleri
Eğer hedef kod için bir test projesi yoksa aracı bir test projesi oluşturur.
Aracı, aşağıdaki garantilerle özel bir dosya sistemi kullanır:
- Kapsam: Aracı hiçbir zaman depo kökü dışındaki dosyaları okumaz veya yazmaz (günlükler hariç).
- Salt okunur tercih: Aracı mümkün olduğunda, yazma eylemlerini engelleyen salt okunur bir dosya sistemi kullanır.
aracı aşağıdaki dosyalara yazabilir:
- Proje dosyalarını test etme
- Kaynak proje dosyaları (örneğin, öznitelik ekleme
InternalsVisibleTo) - Çözüm dosyaları (proje eklerken olduğu gibi Visual Studio API'leri aracılığıyla dolaylı olarak)
- Kaynak dosyaları test et
Güvenlik konuları
.NET için GitHub Copilot testini ilk kez çalıştırdığınızda, Copilot makinenizde LLM tarafından oluşturulan kodu yürütmek için onayınızı alır. Bu, NuGet paketlerini yükleme veya geri yükleme ve testleri çalıştırma gibi eylemleri içerebilir. Genel onay vermezseniz, GitHub Copilot testi böyle bir işlemi gerçekleştirmeden önce sizden açık onay ister.
Dikkat
Onayınız Copilot'a Visual Studio oturumunuzda rastgele komutları sessizce çağırma olanağı verir. Microsoft bu komutların güvenliğini garantileyemez. Bu ayarı yalnızca güvenli (sandboxed) bir ortamda etkinleştirmeli ve bu ortamda kullanılabilen ayrıcalıkları sınırlamak için belirli adımları atmalısınız. Örneğin korumalı ortam, Windows'ta oturum açmak için buluta bağlı bir hesap kullanmamalıdır ve korumalı ortam, genel olmayan depolara okuma erişimi veya üretim depolarına yazma erişimi olan ayrıcalıklı bir GitHub hesabı kullanılarak Visual Studio'da oturum açmamalıdır.
Sonraki Adımlar
Bkz. Visual Studio'da .NET için GitHub Copilot testi kullanarak test oluşturma ve çalıştırma.