2009-10-13 21 views
28

Làm cách nào để loại trừ toàn bộ tệp khỏi các báo cáo coverage.py?coverage.py: loại trừ các tệp

Theo tài liệu, bạn có thể loại trừ mã bằng cách khớp các dòng. Tôi muốn loại trừ toàn bộ tệp để báo cáo không bao gồm thư viện của bên thứ ba. Tui bỏ lỡ điều gì vậy? Nó có thể được thực hiện?

+0

Nếu không ai mang đến cho bạn một câu trả lời, Ned lẽ sẽ vào khoảng sớm để xóa mọi thứ lên - ông là một thường xuyên quanh đây :) –

+5

tôi don Không biết nếu đó là một điều tốt mà tôi có thể dự đoán được! :) –

Trả lời

41

Bạn có thể bỏ qua mô-đun bằng cờ --omit. Nó cần danh sách tiền tố đường dẫn được phân cách bằng dấu phẩy. Vì vậy, ví dụ:

coverage run my_program.py 
coverage report --omit=path/to/3rdparty 
+0

cảm ơn Ned. Làm thế nào tôi có thể làm điều đó bằng cách sử dụng API? – flybywire

+0

Trong API, bạn cung cấp danh sách các mô-đun bạn muốn báo cáo, vì vậy không có nhiều điều khiển thuận tiện ở đó. –

+2

@NedBatchelder Điều này không hiệu quả đối với tôi, xem http://pastebin.com/YFg3fbmW. Tôi có 'coverage.py, phiên bản 3.5.2. http: // nedbatchelder.com/code/coverage'. Bạn có biết tôi đang làm gì sai không? –

10

Bỏ qua một số tệp đã làm việc cho tôi bằng API bảo hiểm. Cũng giống như những gì Ned đề xuất.

Dưới đây là làm thế nào tôi đã làm nó:

cov = coverage.coverage(omit='/usr/lib/python2.6/site-packages/*')