Buat uji unit menggunakan tampilan GitHub Copilot Chat
Tampilan Chat di Visual Studio Code adalah tempat utama untuk membuat pengujian unit dengan GitHub Copilot. Dari tampilan Obrolan, Anda dapat mengonfigurasi kerangka kerja pengujian, menghasilkan pengujian untuk file atau pilihan, dan memperbaiki hasilnya hingga pengujian sesuai dengan konvensi proyek Anda. Unit ini berfokus pada Mode Agen, yang menulis pengujian yang dibuat langsung ke file pengujian, dapat menjalankan pengujian tersebut, dan melakukan iterasi saat terjadi kegagalan—semuanya dari satu prompt chat. Anda juga dapat menggunakan mode Tanyakan sebelumnya untuk menjelajahi opsi pengujian Anda tanpa membuat perubahan file apa pun.
Buka tampilan Obrolan
Buka tampilan Obrolan menggunakan salah satu opsi berikut:
- Tekan Ctrl + Alt + I (Windows/Linux) atau Cmd + Alt + I (macOS).
- Pilih ikon GitHub Copilot di bilah judul lalu pilih Tampilkan/Sembunyikan Obrolan.
Tampilan Obrolan terbuka di Bilah Sisi Sekunder dan menyediakan tiga pilihan konfigurasi yang memengaruhi setiap permintaan yang Anda kirim:
- Target Agen: Tempat agen berjalan. Pilih Lokal untuk menjalankan agen secara interaktif di editor dengan akses penuh ke ruang kerja, alat, dan model Anda.
- Agen: Peran yang diambil AI untuk sesi tersebut. Agen lokal bawaan adalah Ask, Plan, dan Agent.
- Tingkat izin: Berapa banyak otonomi yang dimiliki agen saat memanggil alat dan perintah terminal. Opsinya adalah Persetujuan Default, Persetujuan Bypass, dan Autopilot.
Untuk pembuatan uji unit, titik awal yang direkomendasikan adalah Agent dengan Persetujuan Bawaan. Mode agen dapat mengedit file, menjalankan perintah terminal, dan menjalankan ulang pengujian, sehingga dapat mengambil perintah seperti "menghasilkan pengujian untuk metode ini" dan menghasilkan file pengujian yang berfungsi yang hanya perlu Anda tinjau. Persetujuan Default membuat Anda tetap mendapat informasi dengan meminta Anda mengonfirmasi setiap kali alat dipanggil.
Secara opsional, gunakan mode Tanyakan untuk menjelajahi opsi pengujian terlebih dahulu
Mode tanya menjawab pertanyaan dalam obrolan tanpa memodifikasi file atau memanggil alat. Itu membuatnya cocok ketika Anda ingin merencanakan pendekatan sebelum Anda membiarkan Agen mengubah apa pun. Gunakan mode Tanya saat Anda ingin:
- Bandingkan kasus pengujian kandidat untuk metode yang kompleks sebelum berkomitmen pada struktur.
- Identifikasi kasus tepi dan kondisi batas yang layak dicakup.
- Dapatkan rekomendasi untuk kerangka kerja pengujian atau gaya pernyataan.
- Lihat contoh pengujian dalam obrolan tanpa menulisnya ke disk.
Untuk menggunakan mode Tanya untuk analisis:
Buka tampilan Obrolan dan pilih Tanyakan dari pemilih agen.
Lampirkan file atau pilihan yang relevan sebagai konteks (misalnya, dengan
#selectionatau dengan menyeret dan meletakkan file).Ajukan pertanyaan analisis. Sebagai contoh:
What edge cases should I cover when testing the CalculateDiscount method? List the scenarios and explain why each one matters.Tinjau respons, lalu alihkan pemilih agen ke Agen untuk menghasilkan pengujian aktual.
Menyiapkan kerangka kerja pengujian dengan /setupTests
Jika proyek Anda belum memiliki kerangka kerja pengujian yang dikonfigurasi, GitHub Copilot dapat merekomendasikannya dan memanmbing Anda melalui langkah-langkah konfigurasi. Perintah /setupTests slash berfungsi pada agen apa pun, tetapi mode Agen juga dapat menginstal paket dan membuat proyek pengujian untuk Anda.
Buka tampilan Obrolan dan pilih Agen dari penyaring agen.
Masukkan perintah
/setupTestske dalam kolom input obrolan.Konfirmasikan pemanggilan alat dan perintah terminal yang disarankan Agen untuk menginstal paket, membuat perancah proyek pengujian, dan merekomendasikan ekstensi pengujian Visual Studio Code.
/setupTests sangat berguna saat Anda memulai proyek pengujian baru atau menambahkan proyek yang belum memiliki pengujian.
Hasilkan pengujian dengan /tests
Perintah /tests slash membuat uji unit untuk kode yang sedang aktif di editor. Dalam mode Agen, pengujian yang dihasilkan ditulis langsung ke dalam file pengujian yang sesuai. GitHub Copilot mendeteksi kerangka kerja pengujian dan gaya pengkodean yang ada dan menghasilkan pengujian yang cocok.
Untuk menghasilkan pengujian untuk seluruh file:
Buka file kode aplikasi yang ingin Anda uji.
Buka tampilan Obrolan dan konfirmasikan bahwa Agen dipilih.
Di bidang input obrolan, masukkan
/testsdiikuti dengan panduan tambahan apa pun. Sebagai contoh:/tests Generate unit tests for the methods in this file. Include success, failure, and edge cases.Konfirmasikan pemanggilan alat yang digunakan Agen untuk membaca konteks, menulis pengujian, dan (opsional) menjalankannya.
Tinjau perubahan yang diterapkan Agen.
Agen menambahkan pengujian ke file pengujian yang ada saat tersedia, atau membuat file pengujian baru di lokasi yang sesuai. Diff muncul di editor sehingga Anda dapat memverifikasi setiap perubahan.
Pilih Simpan atau Urungkan untuk menerima atau membuang perubahan.
Untuk menghasilkan pengujian untuk metode atau blok kode tertentu:
Buka file kode aplikasi.
Pilih metode atau blokir yang ingin Anda uji.
Dalam tampilan Obrolan, masukkan
/testsdiikuti dengan panduan yang mereferensikan pilihan. Sebagai contoh:/tests Generate unit tests for the selected method. Validate both success and failure, and include edge cases.Tinjau dan simpan atau buang perubahan yang dihasilkan.
Hasilkan pengujian dengan perintah bahasa alami
Anda tidak perlu menggunakan perintah slash. Agen menghasilkan pengujian dari perintah bahasa alami saat Anda menyertakan konteks yang cukup. Examples:
- "Hasilkan pengujian xUnit untuk metode dalam file ini dan tambahkan ke proyek Calculator.Tests."
- Tulis pengujian unit untuk metode
CalculateDiscount, termasuk kasus batas untuk nilai negatif dan nol. Jalankan pengujian setelah menuliskannya. - "Buat pengujian integrasi untuk lapisan akses data dalam modul ini."
Karena Agen dapat menjalankan perintah, Anda dapat menyertakan langkah-langkah verifikasi dalam perintah yang sama. Meminta Agen untuk menjalankan pengujian setelah menulisnya memungkinkannya menangkap dan memperbaiki kegagalan yang jelas sebelum menyerahkan pekerjaan kembali kepada Anda.
Menambahkan konteks ke perintah Anda
Kualitas pengujian yang dihasilkan tergantung pada konteks yang Anda berikan. Gunakan satu atau beberapa opsi berikut untuk melampirkan konteks ke permintaan tampilan Obrolan:
- Tombol Tambahkan Konteks : Buka Pilih Cepat untuk menambahkan file, folder, simbol, atau pilihan editor saat ini.
- Seret dan letakkan: Seret file dari tampilan Explorer, atau seret tab editor, ke tampilan Obrolan untuk melampirkan konten.
-
#penyebutan: Ketik#lalu nama file, folder, atau simbol untuk menambahkannya sebagai konteks. Gunakan#selectionuntuk melampirkan pilihan editor saat ini, atau#codebaseuntuk memungkinkan GitHub Copilot mencari ruang kerja untuk konteks yang relevan. - File eksternal: Buka file markdown (misalnya, panduan kontributor atau konvensi pengujian) di editor dan lampirkan melalui Tambahkan Konteks. Agen menggunakan konten untuk membentuk pengujian yang dihasilkan.
Misalnya, jika satu metode terlihat di editor, Anda dapat bertanya: Write a unit test for the method in #editor. Jika beberapa metode terlihat atau metode target berada di luar area yang terlihat, pilih kodenya terlebih dahulu dan minta: #selection write unit tests for the selected code.
Meninjau dan menyempurnakan perubahan Agen
Meskipun Agen menulis tes langsung ke dalam proyek pengujian Anda, Anda tetap memegang kendali:
- Tinjau diff: Setiap file yang diubah Agen akan terbuka di editor dengan suntingan yang diusulkan disorot. Berjalan melalui perbedaan sebelum menerimanya.
- Simpan atau Batalkan: Gunakan Simpan untuk menerima perubahan, atau Urungkan untuk mengembalikannya. Anda juga dapat mengembalikan blok perubahan satu per satu dari editor.
- Bangun dan jalankan: Setelah menyimpan perubahan, buat proyek pengujian dan jalankan pengujian dari Test Explorer atau terminal untuk mengonfirmasi semuanya yang dikompilasi dan lulus.
- Iterasi: Gunakan perintah tindak lanjut dalam sesi obrolan yang sama untuk memperbaiki pengujian tertentu, menambahkan lebih banyak kasus, atau mengganti nama metode.
Mempersonalisasi pembuatan pengujian dengan instruksi kustom
Jika organisasi Anda memiliki persyaratan pengujian tertentu, Anda dapat menyesuaikan cara GitHub Copilot menghasilkan pengujian sehingga output cocok dengan standar Anda. Instruksi kustom memungkinkan Anda:
- Tentukan kerangka kerja pengujian pilihan (misalnya, xUnit alih-alih NUnit).
- Tentukan konvensi penamaan untuk kelas dan metode pengujian.
- Atur preferensi struktur kode seperti pola Arrange-Act-Assert.
- Minta pola pengujian tertentu, seperti pengujian berparameter untuk nilai batas.
Simpan instruksi kustom dalam *.instructions.md file di ruang kerja Anda.
applyTo Gunakan bidang metadata untuk menerapkan instruksi hanya untuk menguji file. Misalnya, nilai applyTo: tests/** tersebut membatasi instruksi pada file-file di direktori tests/. Berbagi file dalam kontrol sumber memberi setiap pengembang di tim konteks pengujian yang sama.
Important
Kasus pengujian yang dihasilkan mungkin tidak mencakup setiap skenario. Tinjauan manual dan tinjauan kode masih diperlukan untuk memastikan kualitas pengujian Anda.