Bạn có đề cập đến phạm vi mã từ các bài kiểm tra đơn vị hoặc mã cũ? Nói chung tôi nghĩ rằng chỉ có thể kiểm tra mã có một thất bại nên được bao phủ với một bài kiểm tra đơn vị (có tôi nhận ra rằng có thể bắt đầu một cuộc chiến thánh thiện, nhưng đó là nơi tôi đứng). Vì vậy, đó sẽ là một tỷ lệ khá thấp.
Mặt khác, mã cũ hơn là một câu chuyện khác. Mã cũ là mã không được sử dụng. Bạn rất có thể không cần một công cụ để cho bạn biết điều này cho rất nhiều mã của bạn, chỉ cần tìm Blue Dots nhỏ sau khi bạn biên dịch trong Delphi. Bất cứ điều gì không có dấu chấm màu xanh là cũ. Nói chung nếu mã không được sử dụng thì nó sẽ bị loại bỏ. Vì vậy, đó sẽ là 100% mã vùng phủ sóng.
Có các trường hợp khác cho mã cũ, như nếu bạn có mã đặc biệt để xử lý nếu ngày đó đến ngày 31 tháng 2. Trình biên dịch không biết nó không thể xảy ra, do đó, nó biên dịch nó và cho nó một dấu chấm màu xanh. Bây giờ bạn có thể viết một bài kiểm tra đơn vị cho điều đó, và kiểm tra nó và nó có thể làm việc, nhưng sau đó bạn chỉ lãng phí thời gian của bạn lần thứ hai (đầu tiên để viết mã, thứ hai để kiểm tra nó).
Có các công cụ để theo dõi đường dẫn mã nào được sử dụng khi chương trình chạy, nhưng điều đó chỉ đáng tin cậy vì không phải tất cả các đường dẫn mã sẽ được sử dụng mọi lúc. Giống như mã đặc biệt bạn phải xử lý năm nhuận, nó sẽ chỉ chạy mỗi bốn năm. Vì vậy, nếu bạn lấy nó ra sau đó chương trình của bạn sẽ bị hỏng mỗi bốn năm.
Tôi đoán tôi đã không thực sự trả lời câu hỏi của bạn về DUnit và Bảo hiểm mã, nhưng tôi nghĩ tôi có thể đã để lại cho bạn nhiều câu hỏi hơn sau đó bạn bắt đầu. Bạn đang tìm kiếm loại mã bảo hiểm nào?
CẬP NHẬT: Nếu bạn đang sử dụng phương pháp TDD thì không có mã nào được viết cho đến khi bạn viết thử nghiệm, do đó bạn có 100 vùng phủ sóng thử nghiệm. Tất nhiên chỉ vì mỗi phương pháp được thực hiện bởi một bài kiểm tra không có nghĩa là toàn bộ phạm vi hành vi của nó được thực hiện. SmartInspect cung cấp một phương pháp thực sự dễ dàng để đo lường phương pháp nào được gọi cùng với thời gian, vv. Ít hơn AQTime, nhưng không miễn phí. Với một số công việc khác, bạn có thể thêm thiết bị để đo từng đường dẫn mã (các nhánh của câu lệnh "if", v.v.) Tất nhiên bạn cũng có thể thêm bản ghi của riêng mình vào các phương pháp để đạt được báo cáo bảo hiểm, và đó là miễn phí (tốt, mong đợi cho thời gian của bạn, mà có lẽ có giá trị hơn sau đó các công cụ). Nếu bạn sử dụng JEDI Debug thì bạn cũng có thể nhận được một ngăn xếp cuộc gọi.
TDD thực sự không thể dễ dàng được áp dụng hồi tố cho mã hiện tại mà không cần phải tái cấu trúc lại nhiều. Mặc dù IDE Delphi mới hơn có khả năng tạo ra các phần tử thử nghiệm đơn vị cho mỗi phương thức công khai, sau đó cung cấp cho bạn 100% phạm vi phủ sóng của các phương thức công khai của bạn. Những gì bạn đưa vào những cuống xác định mức độ bao phủ đó hiệu quả như thế nào.
Tôi chưa chấp nhận một trong các câu trả lời, vì tôi muốn khuyến khích mọi người viết ý kiến của họ về kiểm tra đơn vị, công cụ họ sử dụng và mức độ phù hợp họ cố gắng đạt được. Vì vậy, tất cả mọi người, cảm thấy tự do để bình luận;) – jpfollenius