Trăn bảo hiểm

Báo cáo phạm vi kiểm tra và báo cáo thực hiện kiểm tra là các chỉ số quan trọng trong việc đánh giá chất lượng mã của bạn. Báo cáo phạm vi thử nghiệm cho bạn biết bao nhiêu phần trăm mã của bạn được bao phủ bởi các trường hợp thử nghiệm của bạn. Báo cáo thực hiện kiểm thử cho bạn biết kiểm thử nào đã được chạy và kết quả của chúng

Bản thân SonarQube không tính toán vùng phủ sóng. Để bao gồm các kết quả về mức độ phù hợp trong phân tích của bạn, bạn phải thiết lập công cụ mức độ phù hợp của bên thứ ba và định cấu hình SonarQube để nhập kết quả do công cụ đó tạo ra

Bên dưới, bạn sẽ tìm thấy các hướng dẫn và tài nguyên, cũng như các tham số phân tích theo ngôn ngữ và công cụ cụ thể

Hướng dẫn chung

Trước khi nhập phạm vi kiểm tra, bạn cần phải định cấu hình SonarScanner thích hợp để thực hiện phân tích mã như một phần của quy trình xây dựng của bạn

Để bật báo cáo phạm vi bảo hiểm, sau đó bạn phải thực hiện các thao tác sau

  1. Thiết lập công cụ bảo hiểm của bạn để chạy như một phần của quy trình xây dựng của bạn. Công cụ bảo hiểm của bạn phải được thiết lập để chạy trước khi phân tích SonarScanner
  2. Định cấu hình công cụ bảo hiểm sao cho vị trí và định dạng của tệp báo cáo đầu ra khớp với những gì SonarScanner mong đợi
  3. Định cấu hình các tham số phân tích của SonarScanner để nó có thể nhập các tệp báo cáo

Bây giờ, trên mỗi bản dựng dự án của bạn, công cụ bảo hiểm của bạn sẽ thực hiện phân tích và xuất kết quả của nó thành một hoặc nhiều tệp [thường là một tệp cho phạm vi kiểm tra và một tệp để thực hiện kiểm tra]. Sau đó, SonarScanner, như một phần của quy trình phân tích, sẽ nhập các tệp đó và gửi kết quả tới SonarQube

hỗ trợ bảo hiểm

SonarQube trực tiếp hỗ trợ nhập dữ liệu vùng phủ sóng ở các định dạng có nguồn gốc từ nhiều công cụ cho nhiều ngôn ngữ. Nó cũng hỗ trợ nhập định dạng chung có thể được sử dụng làm mục tiêu để chuyển đổi báo cáo tùy chỉnh từ các công cụ không được hỗ trợ trực tiếp

Hướng dẫn chi tiết

Hướng dẫn chi tiết cho các ngôn ngữ sau được cung cấp trong phần này

định dạng chung

Xem Dữ liệu thử nghiệm chung để biết thông tin về cách thức hoạt động của định dạng chung

Kiểm tra phạm vi tham số

Xem Tham số phạm vi kiểm tra để tham khảo về tất cả các tham số phân tích liên quan đến phạm vi

Báo cáo thực hiện thử nghiệm

Phần này nói về báo cáo phạm vi thử nghiệm, nghĩa là các báo cáo mô tả tỷ lệ phần trăm mã của bạn được kiểm tra bởi bộ thử nghiệm của bạn trong quá trình xây dựng

Báo cáo thực hiện kiểm tra là một tính năng riêng biệt. Chúng mô tả những thử nghiệm nào trong bộ thử nghiệm của bạn được thực hiện trong quá trình xây dựng. Để biết chi tiết, hãy xem Thông số thực thi thử nghiệm

Bước tiếp theo là thêm ______01 vào thông số phân tích của bạn. Tham số này phải được đặt thành đường dẫn của tệp báo cáo do công cụ bảo hiểm của bạn tạo ra. Trong ví dụ này, đường dẫn đó được đặt thành mặc định do Bảo hiểm tạo ra. py. Nó được đặt trong tệp 
name: Build
on:
  push:
    branches:
      - main
  pull_request:
    types: [opened, synchronize, reopened]
jobs:
  sonarqube:
    name: SonarQube
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        with:
          fetch-depth: 0
      - name: Setup Python
        uses: actions/setup-python@v2
        with:
          python-version: ${{ matrix.python }}
      - name: Install tox and any other packages
        run: pip install tox
      - name: Run tox
        run: tox -e py
      - name: SonarQube Scan
        uses: SonarSource/sonarqube-scan-action@master
        env:
          SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
          SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }}
2, nằm trong thư mục gốc của dự án

Tóm lược. trong hướng dẫn này, bạn sẽ học cách sử dụng lệnh bảo hiểm unittest của Python để tạo báo cáo phạm vi kiểm tra

phạm vi kiểm tra là gì

Phạm vi kiểm thử là tỷ lệ giữa số dòng được thực hiện bởi ít nhất một trường hợp kiểm thử và tổng số dòng của cơ sở mã

test coverage = lines of code executed / total number of lines

Phạm vi kiểm tra còn được gọi là phạm vi mã

Phạm vi kiểm tra thường được sử dụng để đánh giá chất lượng của bộ kiểm tra. Nếu phạm vi kiểm tra thấp e. g. , 5%, đó là dấu hiệu cho thấy bạn chưa kiểm tra đủ

Tuy nhiên, điều ngược lại có thể không đúng. Ví dụ: phạm vi kiểm tra 100% không đảm bảo rằng bạn có một bộ kiểm tra tốt. Nói cách khác, một bộ test có độ bao phủ cao vẫn có thể kém chất lượng

Ví dụ về bảo hiểm Unittest

Chúng tôi sẽ sử dụng cấu trúc dự án sau đây để giới thiệu phạm vi bảo hiểm của

D:\python-unit-testing ├── shapes | ├── circle.py | ├── shape.py | └── square.py └── test ├── test_circle.py ├── test_square.py └── __init__.py

2. Lưu ý rằng bạn có thể lấy mã nguồn từ hướng dẫn này

D:\python-unit-testing ├── shapes | ├── circle.py | ├── shape.py | └── square.py └── test ├── test_circle.py ├── test_square.py └── __init__.py

Để tạo báo cáo bảo hiểm, bạn cần thực hiện hai bước

Đầu tiên, hãy chạy mô-đun vùng phủ sóng để tạo dữ liệu vùng phủ sóng

python -m coverage run -m unittest

Thứ hai, biến dữ liệu bảo hiểm thành một báo cáo

python -m coverage report

đầu ra

Name Stmts Miss Cover ----------------------------------------- shapes\circle.py 9 0 100% shapes\shape.py 4 0 100% shapes\square.py 9 0 100% test\__init__.py 0 0 100% test\test_circle.py 14 0 100% test\test_square.py 14 0 100% ----------------------------------------- TOTAL 50 0 100%

Code language: plaintext [plaintext]

Để tạo báo cáo mức độ phù hợp ở định dạng HTML, bạn thay đổi tùy chọn của mô-đun mức độ phù hợp thành HTML như thế này

________số 8

đầu ra

Wrote HTML report to htmlcov\index.html

Code language: CSS [css]

Đầu ra cho biết vị trí của báo cáo bảo hiểm HTML

D:\python-unit-testing ├── shapes | ├── circle.py | ├── shape.py | └── square.py └── test ├── test_circle.py ├── test_square.py └── __init__.py

3 trong thư mục dự án

Nếu bạn mở chỉ mục. html của thư mục

D:\python-unit-testing ├── shapes | ├── circle.py | ├── shape.py | └── square.py └── test ├── test_circle.py ├── test_square.py └── __init__.py

4, nó sẽ giống như sau

Kiểm tra báo cáo chi tiết phạm vi bảo hiểm unittest

Đầu tiên, thêm phương thức

D:\python-unit-testing ├── shapes | ├── circle.py | ├── shape.py | └── square.py └── test ├── test_circle.py ├── test_square.py └── __init__.py

5 vào lớp

D:\python-unit-testing ├── shapes | ├── circle.py | ├── shape.py | └── square.py └── test ├── test_circle.py ├── test_square.py └── __init__.py

6 như sau

name: Build
on:
  push:
    branches:
      - main
  pull_request:
    types: [opened, synchronize, reopened]
jobs:
  sonarqube:
    name: SonarQube
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        with:
          fetch-depth: 0
      - name: Setup Python
        uses: actions/setup-python@v2
        with:
          python-version: ${{ matrix.python }}
      - name: Install tox and any other packages
        run: pip install tox
      - name: Run tox
        run: tox -e py
      - name: SonarQube Scan
        uses: SonarSource/sonarqube-scan-action@master
        env:
          SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
          SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }}
4

Tiếp theo, thu thập dữ liệu vùng phủ sóng bằng cách chạy lệnh sau

python -m coverage run -m unittest

Sau đó, tạo báo cáo bảo hiểm bằng cách thực hiện lệnh sau

python -m coverage report

đầu ra

D:\python-unit-testing ├── shapes | ├── circle.py | ├── shape.py | └── square.py └── test ├── test_circle.py ├── test_square.py └── __init__.py

0

Mức độ bao phủ hiện tại là 98% trong tổng số và 91% trong mô-đun

D:\python-unit-testing ├── shapes | ├── circle.py | ├── shape.py | └── square.py └── test ├── test_circle.py ├── test_square.py └── __init__.py

7. Điều này là do phương pháp

D:\python-unit-testing ├── shapes | ├── circle.py | ├── shape.py | └── square.py └── test ├── test_circle.py ├── test_square.py └── __init__.py

5 không được thử nghiệm

Sau đó, tạo báo cáo bảo hiểm ở định dạng HTML

D:\python-unit-testing ├── shapes | ├── circle.py | ├── shape.py | └── square.py └── test ├── test_circle.py ├── test_square.py └── __init__.py

1

_______39 có 11 câu lệnh. Bài kiểm tra thực hiện 10 trong số chúng và bỏ lỡ một câu lệnh. Do đó, phạm vi kiểm tra là 11/10 ~ 91%.

Python tính toán phạm vi bảo hiểm như thế nào?

Phạm vi. py đếm tổng số lần thực hiện có thể . Đây là số câu lệnh thực thi trừ đi số câu lệnh bị loại trừ. Sau đó, nó đếm số lượng các khả năng đã thực sự được thực hiện. Tổng tỷ lệ phần trăm là số lần thực thi thực tế chia cho số lần thực hiện có thể.

Bảo hiểm tuyên bố trong Python là gì?

Phạm vi câu lệnh cho bạn biết có bao nhiêu dòng mã đã được thực thi bởi bộ thử nghiệm và bao nhiêu dòng mã chưa được thực thi . Thước đo chính ở đây là tỷ lệ phần trăm mã được thực thi cho từng tệp riêng lẻ cũng như cho toàn bộ ứng dụng. Rõ ràng, mục tiêu là đạt được mức độ phù hợp 100%.

Bảo hiểm trong mã hóa là gì?

Phạm vi mã là chỉ số kiểm tra phần mềm xác định số lượng dòng mã được xác thực thành công theo quy trình kiểm tra , do đó .

Bảo hiểm trong PyCharm là gì?

Phạm vi mã trong PyCharm cho phép bạn thực hiện phép đo phạm vi đường truyền nhanh chóng cho mã của bạn với chi phí thời gian chạy thấp .

Chủ Đề