2009-10-05 33 views
16

Có bất kỳ công cụ bảo vệ mã nào trong Java cung cấp các đường dẫn khác nhau trong chương trình hay không. Về cơ bản ý tưởng là để đảm bảo rằng tất cả các vòng lặp và vòng lồng nhau được bao phủ trong quá trình thực hiện. Đó là để có thể xác định nếu tất cả các vòng trong một cơ sở mã đã được thực hiện ít nhất thông qua một lần lặp.Các công cụ bảo vệ mã trong Java

+0

Duplicate của http://stackoverflow.com/questions/39329/what-is-your-favourite-code-coverage-tools-free- và không miễn phí –

+8

Không, không phải vậy. Anh ta yêu cầu các công cụ bảo hiểm * path *. Xem http://en.wikipedia.org/wiki/Code_coverage để biết định nghĩa. Hầu hết các câu trả lời được cung cấp cho câu hỏi này không trả lời câu hỏi như đã đặt ra. –

Trả lời

2

Hãy thử EMMA Hoàn toàn miễn phí. Nó được hỗ trợ trong eclipse và JetBrains IDEA hỗ trợ và cũng TeamCity xây dựng máy chủ.

+0

Lưu ý rằng phạm vi mã chỉ được hỗ trợ trong phiên bản Ultimate của IDEA, không phải là ấn bản cộng đồng. – Eponymous

1

Clover là một công cụ tốt.

+2

Thật không may nó là một sản phẩm thương mại :-( Khác với nó, vẫn còn, hiện đang duy trì và trong kinh nghiệm của tôi nó cho kết quả chính xác (emma, ví dụ, không cho phép tôi để có được 100% bảo hiểm trên enum) cắm vào Eclipse, Hudson, Sonar, ... Báo cáo thực sự rõ ràng (có nhiều sự khác biệt vào cuối ngày) – vdr

+0

Thật không may? Ai đang trả * tiền lương * của bạn? –

+0

Tôi tin Clover giờ đã là nguồn mở – John

16

Cobertura, EMMA và thậm chí Clover chỉ thực hiện phạm vi chi nhánh/quyết định (ngoài dòng/tuyên bố bảo hiểm, tất nhiên). Clover cũng cung cấp phương thức (chỉ đơn giản là đo lường nếu một phương thức được nhập vào trong suốt quá trình thực hiện).

Đối với đường dẫn mức độ phù hợp (cộng với phạm vi dòng/tuyên bố), hãy thử JMockit Coverage.

Báo cáo mẫu có thể được tìm thấy here.

Thực tế, hiện tại đây chỉ là phiên bản ban đầu của hỗ trợ bảo hiểm đường dẫn mới mà tôi vẫn cần phải cải thiện.

+0

+1 cho câu trả lời hay này, chỉ có một câu trả lời duy nhất (tất cả những câu hỏi khác đều thiếu câu hỏi thực sự của OP) –

1

Tôi muốn đi với JaCoCo Đó là công cụ nguồn mở (thay thế cho EMMA) được phân phối theo giấy phép công khai của Eclipse.

Ref (05:05, ngày 17 tháng 7 năm 2013): http://en.wikipedia.org/wiki/Java_Code_Coverage_Tools

+0

[EclEmma] (http://www.eclemma.org/) cung cấp tích hợp tốt JaCoCo với Eclipse. –

Các vấn đề liên quan