Code Coverage (Độ bao phủ mã nguồn) 

Trong Visual Studio, Code Coverage (Độ bao phủ mã nguồn) là một tính năng giúp bạn xác định xem có bao nhiêu phần trăm mã nguồn của dự án đã được chạy qua bởi các bài kiểm thử đơn vị (Unit Tests)

1. Mục đích của Code Coverage

  • Đánh giá chất lượng kiểm thử: Giúp bạn biết những phần nào của code đã được kiểm tra và những phần nào còn bị bỏ sót.
  • Giảm thiểu rủi ro: Phát hiện các đoạn code “chết” hoặc các logic chưa bao giờ được thực thi, từ đó giảm thiểu lỗi tiềm ẩn khi vận hành.
  • Định hướng viết Test: Dựa vào báo cáo coverage, lập trình viên có thể bổ sung các test case cho những vùng code chưa được bao phủ. 

2. Các chỉ số đo lường phổ biến

Thông thường, Visual Studio cung cấp các loại bao phủ sau:

  • Line/Statement Coverage: Đo lường tỷ lệ các dòng code được thực thi.
  • Branch/Decision Coverage: Kiểm tra xem các nhánh của câu lệnh điều kiện (if/else, switch) đã được chạy qua hết các trường hợp đúng/sai chưa. semiconvn.comsemiconvn.com +1

3. Cách sử dụng trong các phiên bản Visual Studio

Tính năng này có sự khác biệt tùy thuộc vào phiên bản bạn đang dùng:

  • Visual Studio Enterprise: Đây là phiên bản cao cấp tích hợp sẵn công cụ Analyze Code Coverage mạnh mẽ trong menu Test.
  • Visual Studio Community/Professional: Các phiên bản này thường không tích hợp sẵn tính năng báo cáo coverage chi tiết. Tuy nhiên, bạn có thể sử dụng các tiện ích mở rộng (extensions) miễn phí hoặc thư viện bên thứ ba:
    • Fine Code Coverage: Một extension phổ biến và miễn phí cho Visual Studio giúp hiển thị kết quả ngay trong IDE.
    • Coverlet: Một thư viện cross-platform cho .NET dùng để thu thập dữ liệu coverage.
    • ReportGenerator: Công cụ giúp chuyển đổi dữ liệu thô từ các bộ quét coverage thành báo cáo HTML dễ đọc. 

4. Cách xem kết quả

Khi chạy Code Coverage, Visual Studio thường hiển thị:

  • Bảng thống kê: Cho biết tỷ lệ % bao phủ của từng Project, Namespace, Class và Method.
  • Đánh dấu màu sắc trực tiếp trên Code:
    • Màu xanh: Dòng code đã được thực thi bởi ít nhất một test case.
    • Màu đỏ: Dòng code chưa được chạy qua.
    • Màu vàng: Dòng code chứa điều kiện và chỉ một phần của nhánh điều kiện được thực thi. semiconvn.com

Hãy bình luận đầu tiên

Để lại một phản hồi

Thư điện tử của bạn sẽ không được hiện thị công khai.


*