2015-12-10 70 views
5

Tôi có kết quả này từ việc chạy vùng phủ sóng, và tôi không thể cho cuộc sống của tôi tìm ra cách tính toán tỷ lệ phần trăm bao phủ ..?Mức độ phù hợp tính toán tỷ lệ phần trăm của nó như thế nào?

enter image description here

Trong example này nó giải thích bảo hiểm chi nhánh, nhưng không nói bất cứ điều gì về tỷ lệ bảo hiểm cho ví dụ.

update: đây là các chi tiết cho pfind.py: enter image description here

+0

[* "Nó giám sát chương trình của bạn, lưu ý phần nào của mã đã được thực hiện, sau đó phân tích nguồn để xác định mã có thể đã được thực thi nhưng không phải." *] (Https://coverage.readthedocs.org /en/coverage-4.0.3/) Đó là tỷ lệ phần trăm của mã có khả năng thực thi được thực hiện trong các thử nghiệm, thường được đo trên mỗi dòng. –

+0

@JeremyBanks có, tôi hiểu mức độ phù hợp của mã là bao nhiêu, nhưng tỷ lệ phần trăm dường như không có bất kỳ liên quan nào đến số lượng các dòng được bao phủ hoặc số lượng chi nhánh ..? – thebjorn

+0

Tôi nghĩ rằng bạn cần phải xem các chi nhánh còn thiếu để tính lại tỷ lệ phần trăm. –

Trả lời

5

coverage được đếm từng ngành như hai hướng dẫn càng tốt và đem lại cho họ những trọng lượng tương tự như hướng dẫn không phân nhánh. Sử dụng công thức này:

(run+partial)/(statements+branches)

Nhìn vào results.py từ mã, tỷ lệ che phủ được tính bằng pc_covered, với dữ liệu thu được từ ratio_covered chức năng:

@property 
def ratio_covered(self): 
    """Return a numerator and denominator for the coverage ratio.""" 
    numerator = self.n_executed + self.n_executed_branches 
    denominator = self.n_statements + self.n_branches 
    return numerator, denominator 

Như bạn có thể thấy, nếu chi nhánh bảo hiểm được kích hoạt mỗi chi nhánh sẽ được hạch toán hai lần, một lần như một tuyên bố và một lần như một chi nhánh.

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