יצירת בדיקות יחידה עם תצוגת GitHub Copilot Chat
תצוגת הצ'אט ב-Visual Studio Code היא המקום העיקרי ליצירת בדיקות יחידה עם GitHub Copilot. מהתצוגה בצ'אט, אפשר להגדיר מסגרת בדיקות, ליצור בדיקות לקובץ או לבחירה, ולחדד את התוצאות עד שהבדיקות יתאימו לקונבנציות של הפרויקט שלך. יחידה זו מתמקדת במצב סוכן, שכותב בדיקות שנוצרו ישירות לקובץ בדיקה, יכול להריץ את הבדיקות שנוצרות, ומבצע איטרציות על כשלים — הכל מתוך הprompt של צ'אט אחד. אתה גם יכול להשתמש במצב Ask מראש כדי לבדוק את אפשרויות הבדיקה שלך מבלי לבצע שינויים בקבצים.
פתח את תצוגת הצ'אט
פתח את תצוגת הצ'אט באמצעות אחת מהאפשרויות הבאות:
- לחץ Ctrl + Alt + I (Windows/Linux) או Cmd + Alt + I (macOS).
- בחר את סמל GitHub Copilot בשורת הכותרת ואז בחר Toggle Chat.
תצוגת הצ'אט נפתחת בסרגל הצד המשני ומספקת שלוש אפשרויות תצורה שמשפיעות על כל פקודה שתשלחו:
- סוכן מטרה: המקום שבו הסוכן רץ. בחר מקומי כדי להריץ את הסוכן באופן אינטראקטיבי בעורך עם גישה מלאה לסביבת העבודה, לכלים ולמודלים שלך.
- סוכן: התפקיד שהבינה המלאכותית לוקחת במפגש. הסוכנים המקומיים המובנים הם Ask, Planו-Agent.
- רמת הרשאה: כמה אוטונומיה יש לסוכן בעת הפעלת כלים ופקודות טרמינל. האפשרויות הן אישורי ברירת מחדל, אישורי עקיפהוטייס אוטומטי.
ליצירת בדיקות יחידה, נקודת ההתחלה המומלצת היא הסוכן עם אישורי ברירת מחדל. מצב סוכן יכול לערוך קבצים, להריץ פקודות טרמינל ולהריץ בדיקות מחדש, כך שהוא יכול לקחת הודעה כמו "יצר בדיקות למתודה זו" וליצור קובץ בדיקה עובד שצריך רק לסקור. אישורים ברירת מחדל שומר עליך מעודכן בכך שהוא מבקש ממך לאשר כל הפעלה של כלי.
באופן אופציונלי, השתמש במצב Ask כדי לבדוק אפשרויות בדיקה קודם
שאל במצב תשובות לשאלות בצ'אט בלי לשנות קבצים או להפעיל כלים. זה הופך את זה למתאים כשרוצים לתכנן גישה לפני שמאפשרים לסוכן לשנות משהו. השתמש במצב שאל כשאתה רוצה:
- השווה מקרי מבחן מועמדים לשיטה מורכבת לפני שמתחייבים למבנה.
- זהה מקרי קצה ותנאי גבול שכדאי לכסות.
- קבל המלצה למערכת בדיקה או סגנון טענה.
- תראה דוגמה לבדיקה בצ'אט בלי לכתוב אותה לדיסק.
לשימוש במצב Ask לניתוח:
פתח את תצוגת הצ'אט ובחר 'שאל' מתוך בחירת הסוכנים.
צרף את הקובץ או הבחירה הרלוונטית כהקשר (למשל, עם
#selectionאו על ידי גרירת קובץ פנימה).שאל שאלה ניתוחית. לדוגמה:
What edge cases should I cover when testing the CalculateDiscount method? List the scenarios and explain why each one matters.בדוק את התגובה, ואז החלף את בחירת הסוכן לסוכן כדי ליצור את הבדיקות בפועל.
הקם מסגרת בדיקות עם /setupTests
אם לפרויקט שלך עדיין אין מסגרת בדיקה מוגדרת, GitHub Copilot יכול להמליץ על אחת ולהדריך אותך בשלבי ההגדרה. פקודת /setupTests הסלאש עובדת בכל סוכן, אבל מצב סוכן יכול גם להתקין חבילות וליצור עבורך את פרויקט הבדיקה.
פתח את תצוגת הצ'אט ובחר סוכן מתוך בחירת הסוכנים.
הזן את הפקודה
/setupTestsבשדה הקלט בצ'אט.אשר את הקריאות והפקודות הטרמינליות שה-Agent מציע להתקנת חבילות, להמליץ על פרויקט הבדיקה, ולהמליץ על הרחבות בדיקת Visual Studio Code.
/setupTests זה הכי שימושי כשאתה מתחיל פרויקט בדיקה חדש או מתחיל פרויקט שעדיין לא כולל בדיקות.
יצירת בדיקות עם /tests
פקודת /tests הסלאש יוצרת בדיקות יחידה לקוד שפעיל כרגע בעורך. במצב סוכן, הבדיקות שנוצרות נכתבות ישירות לקובץ בדיקה מתאים. GitHub Copilot מזהה את מסגרת הבדיקה הקיימת ואת סגנון הקידוד ומייצר בדיקות התואמות.
ליצירת בדיקות עבור קובץ שלם:
פתח את קובץ קוד היישום שאתה רוצה לבדוק.
פתח את תצוגת הצ'אט ואשר שסוכן נבחר.
בשדה הקלט בצ'אט, הזן
/testsואחריו כל הנחיות נוספות. לדוגמה:/tests Generate unit tests for the methods in this file. Include success, failure, and edge cases.אשר את הכלי שהסוכן משתמש בו כדי לקרוא הקשר, לכתוב את הבדיקות, ו(אופציונלי) להריץ אותן.
בדוק את השינויים שהסוכן יישם.
הסוכן מוסיף בדיקות לקובץ בדיקה קיים כאשר אחד זמין, או יוצר קובץ בדיקה חדש במיקום המתאים. ההפרש מופיע בעורך כדי שתוכל לאמת כל שינוי.
בחר לשמור או בטל כדי לקבל או לבטל את השינויים.
ליצירת בדיקות עבור שיטה או בלוק קוד מסוים:
פתח את קובץ קוד היישום.
בחר את השיטה או הבלוק שאתה רוצה לבדוק.
בתצוגת הצ'אט, הזן
/testsואחריו הנחיות שמפנות לבחירה. לדוגמה:/tests Generate unit tests for the selected method. Validate both success and failure, and include edge cases.בדוק ושמור או השליך את השינויים שנוצרו.
יצירת בדיקות עם הנחיה בשפה טבעית
אתה לא חייב להשתמש בפקודת חיתוך. הסוכן מייצר בדיקות מהנחיות בשפה טבעית כאשר מוסיפים מספיק הקשר. דוגמאות:
- "יצר בדיקות xUnit עבור המתודות בקובץ זה והוסף אותן לפרויקט Calculator.Test."
- "כתוב בדיקות יחידה עבור השיטה
CalculateDiscount, כולל מקרים קיצונים לערכים שליליים ואפס. תריץ את הבדיקות אחרי שכתבתי אותן." - "צור בדיקות אינטגרציה לשכבת הגישה לנתונים במודול זה."
מכיוון שהסוכן יכול להריץ פקודות, אפשר לכלול שלבי אימות באותו פרומפנט. לבקש מהסוכן להריץ את הבדיקות אחרי הכתיבה מאפשר לו לתפוס ולתקן כשלים ברורים לפני שהוא מחזיר לך את העבודה.
הוסף הקשר להנחיות שלך
איכות הבדיקות שנוצרו תלויה בהקשר שאתה מספק. השתמשו באחת או יותר מהאפשרויות הבאות כדי לצרף הקשר להנחיית צ'אט:
- כפתור הוספת הקשר : פתח בחירה מהירה כדי להוסיף קבצים, תיקיות, סמלים או בחירת העורך הנוכחית.
- גרור ושחרור: גרור קבצים מהתצוגה של Explorer, או גרור לשונית עורך לתצוגת הצ'אט כדי לצרף את התוכן.
-
#אזכורים: הקלדו#ואחריהם שם קובץ, תיקיה או סמל כדי להוסיף אותם כהקשר. השתמש ב-#selectionכדי לצרף את בחירת העורך הנוכחית, או ב-#codebaseכדי לאפשר GitHub Copilot לחפש הקשר רלוונטי במרחב העבודה. - קבצים חיצוניים: פתח קבצי markdown (למשל, הנחיות למשתתפים או קונבנציות בדיקה) בעורך ומצרף אותם דרך Add Context. הסוכן משתמש בתוכן כדי לעצב את הבדיקות שנוצרו.
לדוגמה, אם מתודה אחת גלויה בעורך, תוכל לשאול: Write a unit test for the method in #editor. אם יש מספר שיטות גלויות או ששיטת היעד חורגת מהאזור הנראה, בחר קודם את הקוד ושאל: #selection write unit tests for the selected code.
לבחון ולחדד את השינויים בסוכן
למרות שהסוכן כותב בדיקות ישירות לפרויקט הבדיקה שלך, אתה נשאר בשליטה:
- בדוק את ההבדל: כל קובץ שהסוכן משנה נפתח בעורך עם סימן העריכות המוצעות. תעבור דרך ההפרש לפני שאתה מקבל אותו.
- שמור או ביטל: השתמש בשמירה כדי לקבל את השינויים, או בטל כדי להחזיר אותם. אתה גם יכול להחזיר חתיכות בודדות מהעורך.
- בנה והפעלה: לאחר שמירת השינויים, בנה את פרויקט הבדיקה והפעיל את הבדיקות מ-Test Explorer או מהטרמינל כדי לוודא שהכל מתקבל ומקבל.
- איטרציה: השתמש בהנחיות מעקב באותו סשן צ'אט כדי לחדד בדיקות ספציפיות, להוסיף מקרים נוספים או לשנות שמות לשיטות.
התאמת יצירת בדיקות עם הוראות מותאמות אישית
אם לארגון שלך יש דרישות בדיקה ספציפיות, תוכל להתאים אישית איך GitHub Copilot מייצר בדיקות כך שהפלט יתאים לסטנדרטים שלך. הוראות מותאמות אישית מאפשרות לך:
- ציין מסגרות בדיקה מועדפות (למשל, xUnit במקום NUnit).
- הגדר קונבנציות שמות למחלקות ושיטות בדיקה.
- הגדר העדפות מבנה קוד כמו תבנית Arrange-Act-Assert.
- בקש דפוסי בדיקה ספציפיים, כגון בדיקות פרמטריות לערכי גבולות.
אחסן הוראות מותאמות אישית בקובץ *.instructions.md בסביבת העבודה שלך. השתמש בשדה applyTo המטא-דאטה כדי להחיל את ההוראות רק על קבצי בדיקה. לדוגמה, ערך מסוים applyTo: tests/** ממקם את ההוראות לקבצים בתיקייה tests/ . שיתוף הקובץ בבקרת המקור נותן לכל מפתח בצוות את אותו הקשר בדיקות.
חשוב
מקרי בדיקה שנוצרו עשויים לא לכלול את כל התרחישים. עדיין נדרשות סקירה ידנית וסקירת קוד כדי להבטיח את איכות המבחנים שלך.