2012-08-30 44 views
6

Tôi sử dụng plugin coverage.py của nosetest. Có bằng cách nào đó có thể loại trừ toàn bộ tệp hoặc thư mục khỏi báo cáo bảo hiểm không? Trường hợp sử dụng của tôi là có một thư viện bên ngoài trong thư mục dự án của tôi rõ ràng là không được kiểm tra bởi bộ thử nghiệm của tôi.Làm cách nào để loại trừ tệp khỏi coverage.py?

+3

xem http://stackoverflow.com/questions/12187106/how-to-exclude-mock-package-from-python-coverage-report-using-nosetests – User

Trả lời

1

Vâng, họ có hỗ trợ khá rộng rãi cho điều này trong the docs.

Khi chạy mã của bạn, lệnh chạy vùng phủ sóng sẽ mặc định đo tất cả mã, trừ khi nó là một phần của thư viện chuẩn Python.

Bạn có thể chỉ định nguồn để đo bằng lệnh --source dòng lệnh hoặc giá trị cấu hình nguồn [run]. Giá trị là danh sách của các thư mục hoặc tên gói. Nếu được chỉ định, chỉ nguồn bên trong các thư mục hoặc gói này sẽ được đo. Việc chỉ định tùy chọn nguồn cũng cho phép coverage.py báo cáo về các tệp chưa được thực hiện, kể từ nó có thể tìm kiếm cây nguồn cho các tệp chưa được đo tại tất cả. Chỉ các tệp có thể nhập (các tệp ở gốc của cây hoặc trong các thư mục có tệp __init__.py) sẽ được xem xét và các tệp có dấu câu bất thường trong tên của chúng sẽ bị bỏ qua (chúng là giả định là các tệp cào được viết bởi trình chỉnh sửa văn bản).

Bạn có thể tinh chỉnh thêm sự chú ý của coverage.py với --include và chuyển đổi --omit (hoặc [chạy] bao gồm và [run] bỏ qua cấu hình giá trị). --include là danh sách các mẫu tên tập tin. Nếu được chỉ định, chỉ có tệp phù hợp với các mẫu đó sẽ được đo. --omit cũng là một danh sách các mẫu tên tệp, chỉ định các tệp không được đo lường. Nếu cả hai bao gồm và bỏ qua được chỉ định, trước hết tập hợp các tệp được giảm xuống chỉ chỉ các tệp phù hợp với mẫu bao gồm, sau đó bất kỳ tệp nào khớp với mẫu bỏ qua sẽ bị xóa khỏi tập hợp.

Bao gồm và bỏ qua các mẫu tên tệp theo cú pháp shell điển hình: * khớp với bất kỳ số ký tự nào và? khớp với một ký tự đơn. Các mẫu bắt đầu bằng ký tự đại diện được sử dụng như hiện trạng, các mẫu khác được hiểu tương đối so với thư mục hiện tại.

Giá trị nguồn, bao gồm và bỏ qua tất cả hoạt động cùng nhau để xác định nguồn sẽ được đo.

+0

Đối với các dòng đơn hoặc mã bạn chặn có thể sử dụng '# pragma: không có bìa' như được thấy trong [loại trừ tài liệu] (http://coverage.readthedocs.io/en/coverage-4.3.4/excluding.html#excluding) – luckydonald

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