[ Pytest-cov ] [ Better ] Tạo 1 báo cáo và nhiều báo cáo
Pytest-cov là một trình mở rộng của pytest bạn có thể xem chi tiết bên dưới
Mục lục
Pytest-cov tạo file báo cáo bất kì
Pytest-cov là một trình mở rộng của pytest, bạn có thể tạo báo cáo coverage cho module của mình bằng cách sử dụng pytest với pytest-cov như lệnh bạn đã đề cập.
Đây là các bước để thực hiện điều đó:
- Cài đặt pytest-cov: Đầu tiên, bạn cần cài đặt pytest-cov nếu chưa có. Bạn có thể cài đặt bằng pip:
pip install pytest-cov
- Chạy lệnh pytest với coverage: Sử dụng lệnh bạn đã đề cập để chạy pytest và tạo báo cáo coverage:
pytest --cov=my_module --cov-report=html test_my_module.py
–cov=my_module: Tạo báo cáo coverage cho module my_module.–cov-report=html: Tạo báo cáo coverage dưới dạng HTML.test_my_module.py: Đây là file test của bạn. - –cov=my_module: Tạo báo cáo coverage cho module my_module.
- –cov-report=html: Tạo báo cáo coverage dưới dạng HTML.
- test_my_module.py: Đây là file test của bạn.
- Xem báo cáo coverage: Sau khi chạy lệnh trên, một thư mục HTML sẽ được tạo ra (thường là htmlcov). Bạn có thể mở file index.html trong thư mục đó để xem báo cáo coverage trên trình duyệt.
Cài đặt pytest-cov: Đầu tiên, bạn cần cài đặt pytest-cov nếu chưa có.
Bạn có thể cài đặt bằng pip:
pip install pytest-cov
Chạy lệnh pytest với coverage: Sử dụng lệnh bạn đã đề cập để chạy pytest và tạo báo cáo coverage:
pytest --cov=my_module --cov-report=html test_my_module.py
- –cov=my_module: Tạo báo cáo coverage cho module my_module.
- –cov-report=html: Tạo báo cáo coverage dưới dạng HTML.
- test_my_module.py: Đây là file test của bạn.
Xem báo cáo coverage: Sau khi chạy lệnh trên, một thư mục HTML sẽ được tạo ra (thường là htmlcov)
Hoặc nhanh hơn bạn chạy file .sh này nó tự làm cho bạn
Bạn có thể mở file index.html trong thư mục đó để xem báo cáo coverage trên trình duyệt.
Đây là một ví dụ cụ thể:
File hiển thị code Test:
Giả sử bạn có cấu trúc thư mục như sau:
my_project/ ├── my_module/ │ ├── __init__.py │ ├── module.py ├── tests/ │ ├── test_my_module.py
Bạn sẽ chạy lệnh sau từ thư mục gốc của dự án (my_project):
pytest --cov=my_module --cov-report=html tests/test_my_module.py
Sau khi chạy lệnh này, bạn sẽ thấy thư mục htmlcov xuất hiện trong thư mục gốc của dự án.
Bạn có thể mở file htmlcov/index.html để xem báo cáo coverage chi tiết.
Nếu bạn gặp vấn đề hoặc cần thêm thông tin, hãy cho tôi biết!
Báo cáo cho tất cả các test
Để tạo báo cáo coverage cho tất cả các bài test trong dự án của bạn, bạn có thể chạy pytest từ thư mục gốc của dự án mà không cần chỉ định file test cụ thể.
Dưới đây là các bước để thực hiện điều đó:
- Cài đặt pytest-cov (nếu chưa cài đặt):
pip install pytest-cov
- Chạy pytest với coverage cho tất cả các test:
pytest --cov=my_module --cov-report=html
–cov=my_module: Tạo báo cáo coverage cho module my_module.–cov-report=html: Tạo báo cáo coverage dưới dạng HTML.Lệnh này sẽ tìm và chạy tất cả các bài test trong dự án của bạn, sau đó tạo báo cáo coverage. - –cov=my_module: Tạo báo cáo coverage cho module my_module.
- –cov-report=html: Tạo báo cáo coverage dưới dạng HTML.
Cài đặt pytest-cov (nếu chưa cài đặt):
pip install pytest-cov
Chạy pytest với coverage cho tất cả các test:
pytest --cov=my_module --cov-report=html
- –cov=my_module: Tạo báo cáo coverage cho module my_module.
- –cov-report=html: Tạo báo cáo coverage dưới dạng HTML.
Lệnh này sẽ tìm và chạy tất cả các bài test trong dự án của bạn, sau đó tạo báo cáo coverage.
Ví dụ, giả sử cấu trúc dự án của bạn như sau:
my_project/ ├── my_module/ │ ├── __init__.py │ ├── module.py ├── tests/ │ ├── test_module1.py │ ├── test_module2.py
Bạn sẽ chạy lệnh sau từ thư mục gốc của dự án (my_project):
pytest --cov=my_module --cov-report=html
Sau khi chạy lệnh này, một thư mục htmlcov sẽ được tạo ra trong thư mục gốc của dự án.
Bạn có thể mở file htmlcov/index.html để xem báo cáo coverage chi tiết.
Nếu bạn muốn bao gồm toàn bộ mã nguồn trong báo cáo (ngay cả những dòng mã không được kiểm tra), bạn có thể sử dụng thêm tùy chọn –cov-branch:
pytest --cov=my_module --cov-report=html --cov-branch
Tùy chọn này sẽ hiển thị coverage chi tiết hơn, bao gồm cả thông tin về các nhánh của mã nguồn
Hãy thử và cho tôi biết nếu bạn cần hỗ trợ thêm!
#Mtips5s #Contact
Fanpage: https://www.facebook.com/mtipscoder
Group trao đổi, chia sẻ: https://www.facebook.com/groups/mtipscoder
Website: https://mtips5s.com
Youtube: https://mtips5s.com
Twitter(X): @takagiks99
Instagram: @khuongkara
Threads: @khuongkara
Google Maps: @khuongkara
#Base Code #Souce Code
Bộ công cụ My Self: @tools.mtips5s.com
Github: @github
Npm: @npm
Docker: @docker
Chúc các bạn thành công!
Written by admin
Comments
This post currently has no responses.