ตรวจสอบเครื่องมือทดสอบหน่วยและสภาพแวดล้อม
GitHub Copilot Chat สามารถใช้เพื่อแนะนําการทดสอบหน่วยตามโค้ดที่คุณระบุ ตัวอย่างเช่น ถ้าคุณระบุลายเซ็นและเนื้อความของเมธอด GitHub Copilot Chat สามารถแนะนํากรณีการทดสอบที่ครอบคลุมพารามิเตอร์การป้อนข้อมูลและค่าเอาต์พุตที่คาดไว้ได้ เมื่อโครงการทดสอบของคุณประกอบด้วยกรณีการทดสอบสองสามกรณี คุณสามารถใช้ GitHub Copilot เพื่อสร้างคําแนะนําการกรอกโค้ดสําหรับกรณีทดสอบเพิ่มเติมได้ การใช้การเสร็จสมบูรณ์ของเส้นโค้ดเพื่อสร้างการทดสอบหน่วยจะลดกระบวนการซ้ํา ๆ และช่วยให้แน่ใจว่ารหัสของคุณได้รับการทดสอบอย่างละเอียด
GitHub Copilot Chat ใช้บริบทและความหมายของโค้ดคุณเพื่อแนะนําการยืนยันว่าฟังก์ชันทํางานได้อย่างถูกต้อง นอกจากนี้ยังช่วยให้คุณสามารถเขียนกรณีการทดสอบสําหรับกรณีขอบและเงื่อนไขขอบเขตที่อาจยากต่อการระบุด้วยตนเอง ตัวอย่างเช่น GitHub Copilot Chat สามารถแนะนํากรณีการทดสอบสําหรับการจัดการข้อผิดพลาด ค่า null หรือชนิดการป้อนข้อมูลที่ไม่คาดคิด
สําคัญ
กรณีการทดสอบที่สร้างขึ้นอาจไม่ครอบคลุมสถานการณ์ที่เป็นไปได้ทั้งหมด การทดสอบด้วยตนเองและการตรวจสอบโค้ดเป็นสิ่งจําเป็นเพื่อให้แน่ใจว่าคุณภาพของโค้ดของคุณ
การสนับสนุน GitHub Copilot สําหรับการทดสอบหน่วย
Copilot สามารถช่วยในการทดสอบงานต่อไปนี้:
- ตั้งค่าเฟรมเวิร์กการทดสอบ: รับความช่วยเหลือในการกําหนดค่าเฟรมเวิร์กการทดสอบที่เหมาะสมและส่วนขยาย VS Code สําหรับโครงการและภาษาของคุณ
- สร้างรหัสทดสอบ: สร้างการทดสอบหน่วย การทดสอบการรวม และการทดสอบแบบ end-to-end ที่ครอบคลุมรหัสแอปพลิเคชันของคุณ
- จัดการกรณีขอบ: สร้างชุดการทดสอบที่ครอบคลุมเพื่อให้ครอบคลุมกรณีขอบและเงื่อนไขข้อผิดพลาด
- แก้ไขการทดสอบที่ล้มเหลว: รับคําแนะนําสําหรับการแก้ไขความล้มเหลวในการทดสอบ
- รักษาความสอดคล้อง: ปรับแต่ง Copilot เพื่อสร้างการทดสอบที่ทําตามแนวทางปฏิบัติในการเขียนโค้ดของโครงการของคุณ
ตั้งค่าเฟรมเวิร์กการทดสอบของคุณ
เพื่อเร่งเวิร์กโฟลว์การทดสอบของคุณ Copilot สามารถช่วยตั้งค่าเฟรมเวิร์กการทดสอบและส่วนขยาย VS Code สําหรับโครงการของคุณ Copilot แนะนําเฟรมเวิร์กการทดสอบที่เหมาะสมตามชนิดโครงการของคุณ
เปิดมุมมองแชท
ป้อน
/setupTestsคําสั่งในเขตข้อมูลอินพุตการสนทนาทําตามคําแนะนําของ GitHub Copilot เพื่อกําหนดค่าโครงการของคุณ
เขียนการทดสอบหน่วยด้วย GitHub Copilot
GitHub Copilot สามารถช่วยคุณเขียนการทดสอบสําหรับรหัสแอปพลิเคชันของคุณ โดยการสร้างรหัสทดสอบที่ครอบคลุม codebase ของคุณ ซึ่งรวมถึงการทดสอบหน่วย การทดสอบแบบ end-to-end และการทดสอบสําหรับกรณีขอบ
คุณสามารถสร้างการทดสอบหน่วยโดยใช้เครื่องมือ GitHub Copilot ต่อไปนี้:
- มุมมองแชท: ใช้มุมมองแชทสร้างการทดสอบหน่วยสําหรับโครงการ ระดับ หรือวิธีการโดยใช้โหมดถามแก้ไขหรือตัวแทน
- แชทแบบอินไลน์: ใช้การแชทแบบอินไลน์เพื่อสร้างการทดสอบหน่วยสําหรับชั้นเรียนหรือวิธีการที่เลือก
- การดําเนินการอย่างชาญฉลาด: ใช้การดําเนินการสร้างการทดสอบอย่างชาญฉลาดเพื่อสร้างการทดสอบหน่วยสําหรับโค้ดที่เลือกโดยไม่ต้องเขียนพร้อมท์
- การเสร็จสมบูรณ์ของบรรทัดโค้ด: ใช้การเสร็จสมบูรณ์ของบรรทัดโค้ดเพื่อแนะนําการทดสอบหน่วยเพิ่มเติมสําหรับกรณีการทดสอบที่มีอยู่
แก้ไขการทดสอบที่ล้มเหลว
Copilot ผสานรวมกับ Test Explorer ใน Visual Studio Code และสามารถช่วยในการแก้ไขการทดสอบที่ล้มเหลว
ใน Test Explorer ให้วางเมาส์เหนือการทดสอบที่ล้มเหลว
เลือกปุ่ม แก้ไขความล้มเหลวในการทดสอบ (ไอคอนรูปประกาย)
ตรวจทานและใช้การแก้ไขที่แนะนําของ Copilot
หรือคุณสามารถ:
เปิดมุมมองแชท
ป้อน
/fixTestFailureคําสั่งเครื่องหมายทับทําตามคําแนะนําของ Copilot เพื่อแก้ไขการทดสอบ
เคล็ดลับ
โหมดตัวแทนจะตรวจสอบเอาต์พุตทดสอบเมื่อเรียกใช้การทดสอบและพยายามแก้ไขและเรียกใช้การทดสอบที่ล้มเหลวโดยอัตโนมัติ
รักษาความสอดคล้องกัน
หากองค์กรของคุณมีข้อกําหนดในการทดสอบที่เฉพาะเจาะจง คุณสามารถกําหนดวิธีที่ Copilot สร้างการทดสอบเพื่อให้แน่ใจว่าเป็นไปตามมาตรฐานของคุณได้ คุณสามารถปรับแต่งวิธีการที่ Copilot สร้างการทดสอบโดยการให้คําแนะนําแบบกําหนดเอง เช่น:
- ระบุเฟรมเวิร์กการทดสอบที่ต้องการ
- กําหนดมาตรฐานการตั้งชื่อสําหรับการทดสอบ
- ตั้งค่าการกําหนดลักษณะโครงสร้างโค้ด
- ร้องขอรูปแบบการทดสอบหรือวิธีการเฉพาะ
การสนับสนุน Visual Studio Code สําหรับการทดสอบหน่วย
เพื่อสร้างและเรียกใช้การทดสอบหน่วย C# ใน Visual Studio Code คุณจําเป็นต้องมีทรัพยากรต่อไปนี้:
- .NET 8.0 SDK หรือใหม่กว่า
- ส่วนขยาย C# Dev Kit สําหรับ Visual Studio Code
- แพคเกจเฟรมเวิร์กทดสอบที่เพิ่มไปยังโครงการของคุณ
การรองรับชุดเครื่องมือพัฒนาสำหรับ C# สำหรับการทดสอบหน่วย
ส่วนขยาย C# Dev Kit สําหรับ Visual Studio Code มีชุดคุณลักษณะมากมายเพื่อช่วยให้คุณสร้างและจัดการการทดสอบหน่วยสําหรับโครงการ C# ของคุณ ซึ่งรวมถึงคุณลักษณะต่อไปนี้:
- Test Explorer - มุมมองทรีเพื่อแสดงกรณีการทดสอบทั้งหมดในพื้นที่ทํางานของคุณ
- เรียกใช้/ดีบักกรณีทดสอบ - คุณลักษณะการเรียกใช้และดีบักกรณีทดสอบ
- ดูผลลัพธ์การทดสอบ - คุณลักษณะเพื่อดูผลลัพธ์การทดสอบ
- การทดสอบคําสั่ง - คําสั่งเพื่อเรียกใช้การทดสอบทั้งหมด เรียกใช้การทดสอบที่ล้มเหลว และอื่น ๆ
- การตั้งค่าการทดสอบ - การตั้งค่าเฉพาะสําหรับการทดสอบ
- แพคเกจเฟรมเวิร์กทดสอบ
C# Dev Kit สนับสนุนเฟรมเวิร์กการทดสอบต่อไปนี้:
- xUnit
- NUnit
- MSTest
C# Dev Kit ช่วยให้คุณสามารถสร้างโครงการทดสอบ เพิ่มแพคเกจเฟรมเวิร์กทดสอบ และจัดการการทดสอบหน่วยได้
การเปิดใช้งานเฟรมเวิร์กการทดสอบ
Command Palette ใน Visual Studio Code ให้วิธีที่ง่ายที่สุดในการเปิดใช้งานเฟรมเวิร์กการทดสอบสําหรับโครงการของคุณ คุณสามารถเปิด Command Palette ด้วยวิธีต่อไปนี้:
- กดปุ่ม Ctrl + Shift + P คีย์ (Windows/Linux) หรือ cmd + Shift + P (macOS)
- เปิดเมนู มุมมอง จากนั้นเลือก Command Palette
- เปิดมุมมอง Solution Explorer คลิกขวาที่โฟลเดอร์โซลูชัน จากนั้นเลือก โครงการใหม่ ตัวเลือกนี้เปิด Command Palette ด้วยคําสั่ง .NET:New Project... ที่เลือกไว้แล้ว
ส่วนต่อไปนี้อธิบายวิธีการเปิดใช้งานเฟรมเวิร์กทดสอบสําหรับโครงการ C# ของคุณโดยใช้ Command Palette
xUnit
เปิด Command Palette และเลือก .NET:New Project... จากนั้นเลือก xUnit Test Project และใส่ชื่อและตําแหน่งที่ตั้งสําหรับโครงการใหม่ คําสั่งนี้สร้างโครงการและไดเรกทอรีใหม่ที่ใช้ xUnit เป็นไลบรารีการทดสอบและกําหนดค่าโปรแกรมรันการทดสอบโดยการเพิ่มองค์ประกอบ <PackageReference /> ต่อไปนี้ลงในไฟล์โครงการ
Microsoft.NET.Test.SdkxUnitxunit.runner.visualstudiocoverlet.collector
จากเทอร์มินัล คุณสามารถเรียกใช้คําสั่งต่อไปนี้:
dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]
NUnit
เปิด Command Palette และเลือก .NET:New Project... จากนั้นเลือก NUnit3 Test Project และใส่ชื่อและตําแหน่งที่ตั้งสําหรับโครงการใหม่ คําสั่งนี้สร้างโครงการและไดเรกทอรีใหม่ที่ใช้ NUnit เป็นไลบรารีทดสอบและกําหนดค่าโปรแกรมรันการทดสอบโดยการเพิ่มองค์ประกอบ <PackageReference /> ต่อไปนี้ลงในไฟล์โครงการ
Microsoft.NET.Test.SdkNUnitNUnit3TestAdapter
จากเทอร์มินัล ให้เรียกใช้คําสั่งต่อไปนี้:
dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]
MSTest
เปิด Command Palette และเลือก .NET:New Project... จากนั้นเลือก โครงการทดสอบ MSTest และใส่ชื่อและตําแหน่งที่ตั้งสําหรับโครงการใหม่ คําสั่งนี้สร้างโครงการและไดเรกทอรีใหม่ที่ใช้ MSTest เป็นไลบรารีการทดสอบและกําหนดค่าตัวเรียกใช้การทดสอบโดยการเพิ่มองค์ประกอบ <PackageReference /> ต่อไปนี้ลงในไฟล์โครงการ
Microsoft.NET.Test.SdkMSTest.TestAdapterMSTest.TestFrameworkcoverlet.collector
จากเทอร์มินัล ให้เรียกใช้คําสั่งต่อไปนี้:
dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]
พัฒนาการทดสอบหน่วยใน Visual Studio Code โดยใช้ GitHub Copilot Chat
การผสมผสานของ Visual Studio Code และ GitHub Copilot Chat ให้สภาพแวดล้อมที่มีประสิทธิภาพสําหรับการสร้างและเรียกใช้การทดสอบหน่วยสําหรับโครงการ C# ของคุณ
กระบวนการทดสอบหน่วยสามารถแบ่งออกเป็นสามขั้นตอน:
- ใช้ Visual Studio Code เพื่อสร้างโครงการทดสอบสําหรับการทดสอบหน่วยของคุณ
- ใช้ GitHub Copilot Chat เพื่อพัฒนากรณีการทดสอบหน่วยสําหรับโครงการ C# ของคุณ
- ใช้ Visual Studio Code และ C# Dev Kit เพื่อเรียกใช้และจัดการการทดสอบหน่วยของคุณ
สร้างโครงการทดสอบ
คุณจําเป็นต้องสร้างโครงการทดสอบที่จะใช้ในการเก็บการทดสอบหน่วยของคุณ คุณสามารถใช้รหัส Visual Studio Code เพื่อทํางานต่อไปนี้ให้เสร็จสมบูรณ์ได้:
ใช้ Command Palette เพื่อสร้างโครงการทดสอบที่ใช้เฟรมเวิร์กการทดสอบที่ระบุ
ใช้เทอร์มินัลแบบรวมเพื่อเพิ่มการอ้างอิงไปยังโครงการที่คุณกําลังทดสอบ
กระบวนการนี้สร้างโครงการใหม่และกําหนดค่าตัวรันการทดสอบสําหรับกรอบงานที่เลือก
สร้างกรณีการทดสอบหน่วยโดยใช้ GitHub Copilot Chat
GitHub Copilot Chat สามารถใช้เพื่อช่วยให้คุณเขียนกรณีการทดสอบหน่วยสําหรับเฟรมเวิร์กการทดสอบของคุณได้ Copilot Chat จดจําเฟรมเวิร์กการทดสอบและสไตล์การเข้ารหัสของคุณ และสร้างส่วนย่อยของโค้ดที่ตรงกัน คุณสามารถใช้ Copilot Chat เพื่อทํางานต่อไปนี้ให้เสร็จสมบูรณ์:
เขียนกรณีการทดสอบหน่วยสําหรับเฟรมเวิร์กการทดสอบของคุณตามโค้ดที่เปิดอยู่ในตัวแก้ไขหรือส่วนย่อยของโค้ดที่คุณไฮไลต์ในตัวแก้ไข Copilot ระบุเฟรมเวิร์กการทดสอบและสไตล์การเข้ารหัสของคุณ และสร้างส่วนย่อยของโค้ดที่ตรงกัน
ระบุและเขียนกรณีการทดสอบสําหรับกรณีขอบและเงื่อนไขขอบเขตที่อาจยากต่อการระบุด้วยตนเอง ตัวอย่างเช่น Copilot สามารถแนะนํากรณีทดสอบสําหรับการจัดการข้อผิดพลาด ค่า null หรือชนิดอินพุตที่ไม่คาดคิด
แนะนําการยืนยันเพื่อให้แน่ใจว่าฟังก์ชันทํางานได้อย่างถูกต้องตามบริบทและความหมายของโค้ด ตัวอย่างเช่น สร้างการยืนยันเพื่อให้แน่ใจว่าพารามิเตอร์การป้อนข้อมูลของฟังก์ชันถูกต้อง
พิจารณาสถานการณ์ต่อไปนี้เมื่อขอให้ Copilot Chat สร้างกรณีการทดสอบหน่วย:
หากเห็นหนึ่งวิธีในตัวแก้ไขแบบเต็ม คุณสามารถขอให้ Copilot Chat สร้างการทดสอบหน่วยสำหรับวิธีการนั้นโดยการพิมพ์
Write a unit test for the method in the #editorหากมีหลายวิธีการที่มองเห็นได้หรือวิธีการที่ตั้งใจไว้ขยายเกินสิ่งที่มองเห็นในตัวแก้ไข ให้เลือกโค้ดที่คุณต้องการสร้างการทดสอบหน่วย จากนั้นถาม Copilot:
#selection write a unit test for this code
เรียกใช้และจัดการการทดสอบหน่วยใน Visual Studio Code
Visual Studio Code และ C# Dev Kit มีชุดคุณลักษณะมากมายเพื่อช่วยให้คุณเรียกใช้และจัดการการทดสอบหน่วยสําหรับโครงการ C# ของคุณ คุณสามารถเรียกใช้/ดีบักกรณีทดสอบ ดูผลลัพธ์การทดสอบ และจัดการกรณีทดสอบโดยใช้ Test Explorer
กรณีทดสอบการเรียกใช้/แก้จุดบกพร่อง: C# Dev Kit จะสร้างทางลัด (ปุ่มเล่นสีเขียว) ทางด้านซ้ายของข้อกําหนดคลาสและเมธอด หากต้องการเรียกใช้กรณีทดสอบเป้าหมาย ให้เลือกปุ่มเล่นสีเขียว คุณยังสามารถคลิกขวาเพื่อดูตัวเลือกเพิ่มเติม
Test Explorer: Test Explorer เป็นมุมมองแบบทรีเพื่อแสดงกรณีการทดสอบทั้งหมดในพื้นที่ทํางานของคุณ คุณสามารถเลือกปุ่มบีกเกอร์บนแถบกิจกรรมด้านซ้ายของรหัส Visual Studio เพื่อเปิด คุณยังสามารถเรียกใช้/ดีบักกรณีทดสอบของคุณ และดูผลลัพธ์การทดสอบจากที่นั่นได้
ดูผลลัพธ์การทดสอบ: หลังจากเรียกใช้/ดีบักกรณีการทดสอบ สถานะของรายการทดสอบที่เกี่ยวข้องจะได้รับการอัปเดตในการตกแต่งของตัวแก้ไขและ Test Explorer คุณสามารถเลือกลิงก์ในการติดตามสแตกเพื่อไปที่ตำแหน่งที่ตั้งของแหล่งข้อมูล
คําสั่งทดสอบรหัส Visual Studio: มีคําสั่งทดสอบ (ตัวอย่างเช่น เรียกใช้การทดสอบทั้งหมด) ที่สามารถพบได้โดยการค้นหา การทดสอบ: ใน Command Palette
การตั้งค่าการทดสอบรหัส Visual Studio: มีการตั้งค่า Visual Studio Code เฉพาะสําหรับการทดสอบที่สามารถพบได้โดยการค้นหาการทดสอบในตัวแก้ไขการตั้งค่า
สรุป
GitHub Copilot Chat สามารถใช้เพื่อแนะนําการทดสอบหน่วยตามโค้ดที่คุณระบุ ตัวอย่างเช่น ถ้าคุณระบุลายเซ็นและเนื้อความของเมธอด GitHub Copilot Chat สามารถแนะนํากรณีการทดสอบที่ครอบคลุมพารามิเตอร์การป้อนข้อมูลและค่าเอาต์พุตที่คาดไว้ได้ เมื่อโครงการทดสอบของคุณประกอบด้วยกรณีการทดสอบสองสามกรณี คุณสามารถใช้ GitHub Copilot เพื่อสร้างคําแนะนําการกรอกโค้ดสําหรับกรณีทดสอบเพิ่มเติมได้ การใช้การเสร็จสมบูรณ์ของเส้นโค้ดเพื่อสร้างการทดสอบหน่วยจะลดกระบวนการซ้ํา ๆ และช่วยให้แน่ใจว่ารหัสของคุณได้รับการทดสอบอย่างละเอียด
GitHub Copilot Chat ใช้บริบทและความหมายของโค้ดคุณเพื่อแนะนําการยืนยันว่าฟังก์ชันทํางานได้อย่างถูกต้อง นอกจากนี้ยังช่วยให้คุณสามารถเขียนกรณีการทดสอบสําหรับกรณีขอบและเงื่อนไขขอบเขตที่อาจยากต่อการระบุด้วยตนเอง ตัวอย่างเช่น GitHub Copilot Chat สามารถแนะนํากรณีการทดสอบสําหรับการจัดการข้อผิดพลาด ค่า null หรือชนิดการป้อนข้อมูลที่ไม่คาดคิด