Tạo kiểm thử đơn vị với chế độ xem GitHub Copilot Chat

Đã hoàn thành

Chế độ xem Chat trong Visual Studio Code là nơi chính để tạo các bài kiểm thử đơn vị với GitHub Copilot. Từ chế độ xem Chat, bạn có thể định cấu hình khung kiểm thử, tạo kiểm thử cho tệp hoặc lựa chọn và tinh chỉnh kết quả cho đến khi kiểm thử phù hợp với quy ước của dự án. Đơn vị này tập trung vào chế độ Agent, ghi các bài kiểm tra được tạo trực tiếp vào tệp kiểm tra, có thể chạy các bài kiểm tra kết quả và lặp lại các lỗi — tất cả từ một lời nhắc trò chuyện duy nhất. Bạn cũng có thể sử dụng chế độ Hỏi trước để khám phá các tùy chọn thử nghiệm của mình mà không cần thực hiện bất kỳ thay đổi nào về tệp.

Mở chế độ xem Chat

Mở chế độ xem Chat bằng một trong các tùy chọn sau:

  • Nhấn Ctrl + Alt + I (Windows/Linux) hoặc Cmd + Alt + I (macOS).
  • Chọn biểu tượng GitHub Copilot trên thanh tiêu đề rồi chọn Toggle Chat.

Chế độ xem Trò chuyện mở ra trong Thanh bên phụ và cung cấp ba lựa chọn cấu hình ảnh hưởng đến mọi lời nhắc bạn gửi:

  • Agent Target: Nơi agent chạy. Chọn Cục bộ để chạy tổng đài viên tương tác trong trình chỉnh sửa với toàn quyền truy cập vào không gian làm việc, công cụ và mô hình của bạn.
  • Tổng đài viên: Vai trò của AI đối với phiên. Các đại lý địa phương tích hợp sẵn là Ask, PlanAgent.
  • Cấp độ quyền: Mức độ tự chủ của tác nhân khi gọi các công cụ và lệnh đầu cuối. Các tùy chọn là Phê duyệt mặc định, Phê duyệt bỏ quaChế độ lái tự động.

Đối với việc tạo thử nghiệm đơn vị, điểm bắt đầu được đề xuất là Tác nhânPhê duyệt mặc định. Chế độ tác nhân có thể chỉnh sửa tệp, chạy lệnh đầu cuối và chạy lại các bài kiểm tra, vì vậy nó có thể nhận lời nhắc như "tạo bài kiểm tra cho phương thức này" và tạo ra một tệp kiểm tra hoạt động mà bạn chỉ cần xem lại. Phê duyệt mặc định giúp bạn cập nhật thông tin bằng cách yêu cầu bạn xác nhận từng lệnh gọi công cụ.

Theo tùy chọn, hãy sử dụng chế độ Hỏi để khám phá các tùy chọn thử nghiệm trước

Chế độ hỏi trả lời câu hỏi trong cuộc trò chuyện mà không cần sửa đổi tệp hoặc gọi công cụ. Điều đó làm cho nó phù hợp khi bạn muốn lập kế hoạch tiếp cận trước khi bạn để Nhân viên thay đổi bất cứ điều gì. Sử dụng chế độ Hỏi khi bạn muốn:

  • So sánh các trường hợp thử nghiệm ứng viên cho một phương thức phức tạp trước khi cam kết với một cấu trúc.
  • Xác định các trường hợp biên và điều kiện ranh giới đáng để đề cập.
  • Nhận đề xuất cho khung thử nghiệm hoặc kiểu xác nhận.
  • Xem thử nghiệm ví dụ trong cuộc trò chuyện mà không cần ghi vào đĩa.

Cách sử dụng chế độ Hỏi để phân tích:

  1. Mở chế độ xem Trò chuyện và chọn Hỏi từ bộ chọn tổng đài viên.

  2. Đính kèm tệp hoặc lựa chọn có liên quan dưới dạng ngữ cảnh (ví dụ: có #selection hoặc bằng cách kéo tệp vào).

  3. Đặt câu hỏi phân tích. Ví dụ: What edge cases should I cover when testing the CalculateDiscount method? List the scenarios and explain why each one matters.

  4. Xem lại phản hồi, sau đó chuyển bộ chọn tổng đài viên sang Tổng đài viên để tạo các thử nghiệm thực tế.

Thiết lập khung thử nghiệm với /setupTests

Nếu dự án của bạn chưa có khung thử nghiệm được định cấu hình, GitHub Copilot có thể đề xuất một khung thử nghiệm và hướng dẫn bạn qua các bước cấu hình. /setupTests Lệnh gạch chéo hoạt động trong bất kỳ tác nhân nào, nhưng chế độ Tác nhân cũng có thể cài đặt các gói và tạo dự án thử nghiệm cho bạn.

  1. Mở chế độ xem Trò chuyện và chọn Tổng đài viên từ bộ chọn tổng đài viên.

  2. Nhập /setupTests lệnh vào trường nhập trò chuyện.

  3. Xác nhận lệnh gọi công cụ và lệnh đầu cuối mà Agent đề xuất để cài đặt gói, xây dựng dự án thử nghiệm và đề xuất tiện ích mở rộng kiểm tra Visual Studio Code.

/setupTests hữu ích nhất khi bạn bắt đầu một dự án thử nghiệm mới hoặc giới thiệu một dự án chưa bao gồm thử nghiệm.

Tạo thử nghiệm với /tests

/tests Lệnh gạch chéo tạo ra các bài kiểm tra đơn vị cho mã hiện đang hoạt động trong trình chỉnh sửa. Trong chế độ Tác nhân, các bài kiểm tra được tạo ra được ghi trực tiếp vào một tệp kiểm tra thích hợp. GitHub Copilot phát hiện khung kiểm tra hiện có và kiểu mã hóa và tạo ra các bài kiểm tra phù hợp.

Để tạo kiểm thử cho toàn bộ tệp:

  1. Mở tệp mã ứng dụng bạn muốn kiểm tra.

  2. Mở chế độ xem Trò chuyện và xác nhận rằng Tổng đài viên đã được chọn.

  3. Trong trường nhập trò chuyện, hãy nhập /tests theo sau là bất kỳ hướng dẫn bổ sung nào. Ví dụ: /tests Generate unit tests for the methods in this file. Include success, failure, and edge cases.

  4. Xác nhận các lệnh gọi công cụ mà Agent sử dụng để đọc ngữ cảnh, viết các bài kiểm tra và (tùy chọn) chạy chúng.

  5. Xem lại các thay đổi mà Đại lý đã áp dụng.

    Tác nhân nối các bài kiểm tra vào tệp kiểm tra hiện có khi có sẵn hoặc tạo tệp kiểm tra mới ở vị trí thích hợp. Sự khác biệt xuất hiện trong trình chỉnh sửa để bạn có thể xác minh từng thay đổi.

  6. Chọn Giữ hoặc Hoàn tác để chấp nhận hoặc hủy bỏ các thay đổi.

Để tạo kiểm thử cho một phương thức hoặc khối mã cụ thể:

  1. Mở tệp mã ứng dụng.

  2. Chọn phương pháp hoặc khối bạn muốn kiểm tra.

  3. Trong chế độ xem Trò chuyện, hãy nhập /tests theo sau là hướng dẫn tham chiếu đến lựa chọn. Ví dụ: /tests Generate unit tests for the selected method. Validate both success and failure, and include edge cases.

  4. Xem lại và giữ lại hoặc loại bỏ các thay đổi kết quả.

Tạo bài kiểm tra bằng lời nhắc bằng ngôn ngữ tự nhiên

Bạn không cần phải sử dụng lệnh gạch chéo. Tác nhân tạo các bài kiểm tra từ lời nhắc bằng ngôn ngữ tự nhiên khi bạn bao gồm đủ ngữ cảnh. Ví dụ:

  • "Tạo các bài kiểm tra xUnit cho các phương thức trong tệp này và thêm chúng vào dự án Calculator.Tests."
  • "Viết các bài kiểm tra đơn vị cho CalculateDiscount phương thức, bao gồm các trường hợp biên cho các giá trị âm và không. Chạy các bài kiểm tra sau khi viết chúng."
  • "Tạo các bài kiểm tra tích hợp cho lớp truy cập dữ liệu trong mô-đun này."

Vì Agent có thể chạy lệnh, bạn có thể bao gồm các bước xác minh trong cùng một dấu nhắc. Yêu cầu Agent chạy các bài kiểm tra sau khi viết chúng cho phép họ phát hiện và sửa chữa các lỗi rõ ràng trước khi giao lại công việc cho bạn.

Thêm ngữ cảnh vào lời nhắc của bạn

Chất lượng của các thử nghiệm được tạo phụ thuộc vào ngữ cảnh bạn cung cấp. Sử dụng một hoặc nhiều tùy chọn sau để đính kèm ngữ cảnh vào lời nhắc chế độ xem Chat:

  • Thêm nút Ngữ cảnh: Mở Chọn nhanh để thêm tệp, thư mục, ký hiệu hoặc lựa chọn trình chỉnh sửa hiện tại.
  • Kéo và thả: Kéo tệp từ chế độ xem Explorer hoặc kéo thẻ trình chỉnh sửa vào chế độ xem Chat để đính kèm nội dung.
  • # đề cập: Nhập # theo sau là tên tệp, thư mục hoặc ký hiệu để thêm nó làm ngữ cảnh. Sử dụng #selection để đính kèm lựa chọn trình soạn thảo hiện tại hoặc #codebase để cho phép GitHub Copilot tìm kiếm ngữ cảnh có liên quan trong không gian làm việc.
  • Tệp bên ngoài: Mở các tệp đánh dấu (ví dụ: hướng dẫn của người đóng góp hoặc quy ước thử nghiệm) trong trình chỉnh sửa và đính kèm chúng thông qua Thêm ngữ cảnh. Tác nhân sử dụng nội dung để định hình các thử nghiệm được tạo.

Ví dụ: nếu một phương thức duy nhất hiển thị trong trình chỉnh sửa, bạn có thể hỏi: Write a unit test for the method in #editor. Nếu nhiều phương thức hiển thị hoặc phương thức đích mở rộng ra ngoài vùng hiển thị, trước tiên hãy chọn mã và hỏi: #selection write unit tests for the selected code.

Xem xét và tinh chỉnh các thay đổi của Đại lý

Mặc dù Agent viết các bài kiểm tra trực tiếp vào dự án thử nghiệm của bạn, bạn vẫn kiểm soát:

  • Xem lại sự khác biệt: Mỗi tệp mà Agent thay đổi sẽ mở ra trong trình chỉnh sửa với các chỉnh sửa được đề xuất được đánh dấu. Đi qua diff trước khi chấp nhận nó.
  • Giữ hoặc Hoàn tác: Sử dụng Keep để chấp nhận các thay đổi hoặc Hoàn tác để hoàn nguyên chúng. Bạn cũng có thể hoàn nguyên các phần riêng lẻ từ trình chỉnh sửa.
  • Xây dựng và chạy: Sau khi giữ lại các thay đổi, hãy xây dựng dự án thử nghiệm và chạy thử nghiệm từ Test Explorer hoặc thiết bị đầu cuối để xác nhận mọi thứ được biên dịch và vượt qua.
  • Lặp lại: Sử dụng lời nhắc tiếp theo trong cùng một phiên trò chuyện để tinh chỉnh các thử nghiệm cụ thể, thêm nhiều trường hợp hơn hoặc đổi tên phương thức.

Cá nhân hóa việc tạo bài kiểm tra với hướng dẫn tùy chỉnh

Nếu tổ chức của bạn có các yêu cầu kiểm tra cụ thể, bạn có thể tùy chỉnh cách GitHub Copilot tạo kiểm tra để đầu ra phù hợp với tiêu chuẩn của bạn. Hướng dẫn tùy chỉnh cho phép bạn:

  • Chỉ định các khung thử nghiệm ưu tiên (ví dụ: xUnit thay vì NUnit).
  • Xác định quy ước đặt tên cho các lớp và phương thức kiểm thử.
  • Đặt tùy chọn cấu trúc mã, chẳng hạn như mẫu Sắp xếp-Act-Assert.
  • Yêu cầu các mẫu thử nghiệm cụ thể, chẳng hạn như thử nghiệm tham số cho các giá trị ranh giới.

Lưu trữ hướng dẫn tùy chỉnh trong tệp *.instructions.md trong không gian làm việc của bạn. Sử dụng applyTo trường siêu dữ liệu để chỉ áp dụng hướng dẫn cho các tệp thử nghiệm. Ví dụ: một applyTo: tests/** giá trị phạm vi các hướng dẫn đến các tệp trong tests/ thư mục. Chia sẻ tệp trong kiểm soát nguồn cung cấp cho mọi nhà phát triển trong nhóm cùng một bối cảnh thử nghiệm.

Quan trọng

Các trường hợp thử nghiệm được tạo có thể không bao gồm mọi tình huống. Đánh giá thủ công và xem xét mã vẫn được yêu cầu để đảm bảo chất lượng thử nghiệm của bạn.