تمرين - اختبار التعليمات البرمجية باستخدام Copilot

مكتمل

تعد قدرة Copilot على إنشاء اختبارات الوحدة توفيرا كبيرا للوقت للمطورين. في هذا التمرين، ستستخدم Copilot لإنشاء اختبارات وحدة لمشروع Trie. لنبدأ!

استخدام Copilot لاختبار التعليمات البرمجية

في هذا التمرين، ستستخدم Copilot لإنشاء اختبارات أساسية لأساليب المثلثات.

  1. افتح ملف TrieTests.cs ضمن TrieDictionaryTest

  2. في فئة TrieTest، أدخل التعليمات البرمجية التالية:

    // Test that a word is inserted in the trie
    [TestMethod]
    
  3. أدخل سطرا جديدا، ثم انتظر حتى يقوم Copilot بإنشاء التعليمات البرمجية

    يجب أن تنشئ Copilot التعليمات البرمجية التي تدرج كلمة وتؤكد إدراج الكلمة.

  4. في سطر جديد، أدخل التعليمات البرمجية التالية:

    // Test that a word is deleted from the trie
    [TestMethod]
    
  5. أدخل سطرا جديدا، ثم انتظر حتى يقوم Copilot بإنشاء التعليمات البرمجية

    يجب أن تنشئ Copilot التعليمات البرمجية التي تدرج كلمة وتؤكد حذف الكلمة.

  6. كرر الخطوات مع المطالبات التالية:

    // 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 word
    

    أثناء متابعة إنشاء التعليمات البرمجية للاختبار، قد تلاحظ أن Copilot يقوم بالإكمال التلقائي للمطالبة وكعب [TestMethod] والرمز. قدرة Copilot على التنبؤ بالتعليمات البرمجية التي تحتاجها تجعل إنشاء اختبارات الوحدة أسرع. تأكد من التحقق من صحة التأكيدات التي تم إنشاؤها.

    ومع ذلك، قد لا يتنبأ Copilot دائما بالاختبار الدقيق الذي تحتاجه. قد تحتاج إلى مراجعة التعليمات البرمجية التي تم إنشاؤها وإجراء تغييرات على الاختبار، أو استخدام مطالبة أكثر تحديدا

  7. في سطر جديد، أدخل تعليق التعليمات البرمجية التالي:

    // Test AutoSuggest for the prefix "cat" not present in the 
    // trie containing "catastrophe", "catatonic", and "caterpillar"
    
  8. أدخل سطرا جديدا وانتظر حتى يقوم Copilot بإنشاء التعليمات البرمجية

    تحقق من أن الاختبار الذي تم إنشاؤه مشابها للآتي، وإجراء أي تغييرات حسب الحاجة:

    [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]);
    }
    
  9. في سطر جديد، أدخل تعليق التعليمات البرمجية التالي:

    // Test GetSpellingSuggestions for a word not present in the trie
    
  10. أدخل سطرا جديدا وانتظر حتى يقوم Copilot بإنشاء التعليمات البرمجية

    تحقق من أن الاختبار الذي تم إنشاؤه مشابها للآتي، وإجراء أي تغييرات حسب الحاجة:

    [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]);
    }
    

التحقق من عملك

في هذه المهمة، ستختبر الطرق التي قمت بإنشائها باستخدام Copilot للتحقق من أنها تعمل كما هو متوقع.

  1. في مستكشف الملفات، انقر بزر الماوس الأيمن فوق ملف TrieTest.cs وانقر فوق فتح في الوحدة الطرفية المتكاملة

  2. أدخل dotnet test لتشغيل الاختبارات.

  3. تحقق من نجاح جميع الاختبارات.

    Passed!  - Failed:     0, Passed:     7, Skipped:     0, Total:     7, Duration: 638 ms - TrieDictionaryTest.dll (net7.0)
    

    إذا كانت اختباراتك تنتج نتائج مختلفة، فراجع التعليمات البرمجية للعثور على الخطأ وإجراء التحديثات. قم بتشغيل التعليمات البرمجية مرة أخرى لمعرفة ما إذا كنت قد أصلحت المشكلة. متابعة تحديث التعليمات البرمجية وتشغيلها حتى تنتج التعليمات البرمجية النتائج المتوقعة.