Latihan - Uji kode dengan Copilot
Kemampuan Copilot untuk menghasilkan pengujian unit adalah penghemat waktu yang bagus bagi pengembang. Dalam latihan ini, Anda akan menggunakan Copilot untuk menghasilkan pengujian unit untuk proyek Trie. Mari kita mulai!
Menggunakan Copilot untuk menguji kode
Dalam latihan ini, Anda akan menggunakan Copilot untuk menghasilkan pengujian dasar pada metode-metode trie.
Buka file TrieTests.cs di bawah TrieDictionaryTest
Di kelas
TrieTest, masukkan kode berikut:// Test that a word is inserted in the trie [TestMethod]Masukkan baris baru, lalu tunggu Copilot menghasilkan kode
Copilot harus menghasilkan kode yang menyisipkan kata dan mengonfirmasi bahwa kata telah disisipkan.
Pada baris baru, masukkan kode berikut:
// Test that a word is deleted from the trie [TestMethod]Masukkan baris baru, lalu tunggu Copilot menghasilkan kode
Copilot harus menghasilkan kode yang menyisipkan kata dan memastikan kata tersebut telah dihapus.
Ulangi langkah-langkah dengan perintah berikut:
// Test that a word is not inserted twice in the trie // Test that a word is deleted from the trie // Test that a word is not deleted from the trie if it is not present // Test that a word is deleted from the trie if it is a prefix of another wordSaat Anda terus menghasilkan kode pengujian, Anda mungkin melihat bahwa Copilot otomatis melengkapi prompt, stub
[TestMethod], dan kode. Kemampuan Copilot untuk memprediksi kode yang Anda butuhkan membuat pembuatan pengujian unit lebih cepat. Pastikan untuk memeriksa bahwa pernyataan yang dihasilkan sudah benar.Namun, Copilot mungkin tidak selalu memprediksi tes yang tepat yang Anda butuhkan. Anda mungkin perlu meninjau kode yang dihasilkan dan membuat perubahan pada pengujian, atau menggunakan permintaan yang lebih spesifik
Pada baris baru, masukkan komentar kode berikut:
// Test AutoSuggest for the prefix "cat" not present in the // trie containing "catastrophe", "catatonic", and "caterpillar"Masukkan baris baru dan tunggu Copilot menghasilkan kode
Periksa apakah pengujian yang dihasilkan mirip dengan yang berikut ini, membuat perubahan apa pun sesuai kebutuhan:
[TestMethod] public void TestAutoSuggest() { Trie dictionary = new Trie(); dictionary.Insert("catastrophe"); dictionary.Insert("catatonic"); dictionary.Insert("caterpillar"); List<string> suggestions = dictionary.AutoSuggest("cat"); Assert.AreEqual(3, suggestions.Count); Assert.AreEqual("catastrophe", suggestions[0]); Assert.AreEqual("catatonic", suggestions[1]); Assert.AreEqual("caterpillar", suggestions[2]); }Pada baris baru, masukkan komentar kode berikut:
// Test GetSpellingSuggestions for a word not present in the trieMasukkan baris baru dan tunggu Copilot menghasilkan kode
Periksa apakah pengujian yang dihasilkan mirip dengan yang berikut ini, membuat perubahan apa pun sesuai kebutuhan:
[TestMethod] public void TestGetSpellingSuggestions() { Trie dictionary = new Trie(); dictionary.Insert("cat"); dictionary.Insert("caterpillar"); dictionary.Insert("catastrophe"); List<string> suggestions = dictionary.GetSpellingSuggestions("caterpiller"); Assert.AreEqual(1, suggestions.Count); Assert.AreEqual("caterpillar", suggestions[0]); }
Periksa pekerjaan Anda
Dalam tugas ini, Anda akan menguji metode yang Anda buat dengan Copilot untuk memverifikasi bahwa metode tersebut berfungsi seperti yang diharapkan.
Di penjelajah file, klik kanan file TrieTest.cs dan klik Buka di Terminal Terintegrasi
Masukkan
dotnet testuntuk menjalankan pengujian.Verifikasi bahwa semua pengujian lulus.
Passed! - Failed: 0, Passed: 7, Skipped: 0, Total: 7, Duration: 638 ms - TrieDictionaryTest.dll (net7.0)Jika pengujian Anda menghasilkan hasil yang berbeda, tinjau kode Anda untuk menemukan kesalahan dan membuat pembaruan. Jalankan kode lagi untuk melihat apakah Anda telah memperbaiki masalah. Lanjutkan memperbarui dan menjalankan kode Anda hingga kode Anda menghasilkan hasil yang diharapkan.