Tôi vừa bắt đầu viết một số kiểm tra đơn vị cho dự án python mà tôi đã sử dụng unittest và bảo hiểm. Tôi chỉ hiện đang thử nghiệm một tỷ lệ nhỏ nhưng cố gắng để làm việc ra các mã số bảo hiểmPhạm vi kiểm tra đơn vị Python
tôi chạy thử nghiệm của tôi và nhận được bảo hiểm sử dụng bằng cách sử dụng sau đây
python -m unittest discover -s tests/
coverage run -m unittest discover -s tests/
coverage report -m
Vấn đề tôi đang gặp là vùng phủ sóng đó là nói tôi có mã số bảo hiểm 44% và chỉ đếm các tập tin:
- đã được thử nghiệm trong các bài kiểm tra đơn vị (tất cả các tập tin mà không được kiểm tra bị thiếu và không có trong phạm vi bảo hiểm tổng thể)
- là trong librar trong môi trường ảo và mã vùng phủ sóng của các thử nghiệm thực tế. Chắc chắn nó không nên bao gồm các bài kiểm tra thực tế trong các kết quả?
Hơn nữa nó nói các tập tin mà đang thực sự thử nghiệm trong các bài kiểm tra đơn vị chỉ có vài dòng đầu tiên thử nghiệm (mà là trong hầu hết các trường hợp, các báo cáo nhập khẩu)
Làm thế nào để tôi nhận được một mã số bảo hiểm thực tế hơn hoặc đây có phải là cách nó có nghĩa là phải không?
Cảm ơn bạn, điều này phù hợp với tôi! 'coverage run --source = {dir} -m unittest discover -s tests /' sẽ bao gồm {dir}. Tôi có thể hỏi mặc dù: Điều gì về đi qua các subdirs (đệ quy)? – sunyata
Tôi thấy rằng có thể sử dụng điều này để bao gồm nhiều thư mục/mô-đun: '--source = {dir1}, {dir2}, {etc}' (xin lưu ý rằng không có dấu cách sau dấu phẩy). Nó vẫn sẽ hữu ích với một tùy chọn đệ quy nếu điều đó có sẵn mặc dù trong trường hợp các mô đun mới được thêm vào mã nguồn – sunyata
Tài liệu: [Sử dụng dòng lệnh Coverage.py] (https://coverage.readthedocs.io/en/latest/ cmd.html) – sunyata