2010-08-23 14 views
16

Tôi đã cố gắng bỏ qua tất cả các phương thức toString() từ thiết bị đo đạc sử dụng cấu hình sau. Điều này đã không thực sự làm việc? Điều này đang sử dụng cobertura là plugin maven. Điều này dựa trên câu trả lời trước Exclude methods from code coverage with Cobertura.Loại trừ các phương pháp cụ thể khỏi phạm vi mã từ cobertura?

<instrumentation> 
    <ignores> 
     <ignore>toString</ignore> 
    </ignores> 
</instrumentation> 

Bạn nghĩ mình đang làm gì sai. Tôi đã không thể tìm thấy một ví dụ cho điều này trên tài liệu cobertura.

+0

Bạn có thể muốn xem xét câu trả lời duy nhất được cung cấp –

Trả lời

3

cobertura-ant reference

"Các mô hình bỏ qua có thể là bất kỳ perl 5 biểu thức chính quy hợp lệ. Điều này sẽ bỏ qua bất kỳ cuộc gọi đến bất kỳ phương pháp phù hợp với bỏ qua biểu hiện thường xuyên. Nó sẽ không bỏ qua các lớp này trong instrumention. Để loại trừ các lớp học từ được thiết bị, hoặc loại trừ chúng khỏi tập tin của bạn hoặc sử dụng phương pháp thay thế bên dưới và chỉ định một mẫu loại trừ. "

<cobertura-instrument todir="${instrumented.dir}"> 
    <ignore regex="org.apache.log4j.*" /> 
    ... 
</cobertura-instrument> 

Tôi tin rằng bạn cần phải thay đổi "bỏ qua" để "bỏ qua" và sử dụng một biểu thức chính quy để xác định tên cả lớp trước khi phương pháp (hoặc chỉ là một * trong bạn trường hợp loại trừ toString từ bất kỳ lớp).