Tóm tắt thử nghiệm của pytest là tốt khi bạn phát triển ứng dụng của mình. Nhưng khi bạn muốn chia sẻ những kết quả này với người khác thì việc thiếu thông tin chi tiết lại là một vấn đề. Hãy để chúng tôi xem cách chúng tôi có thể tạo một báo cáo chi tiết hơn mà chúng tôi có thể chia sẻ
Bài đăng này là một phần trong hành trình học Python của tôi. Bạn có thể tìm thấy các phần khác của loạt bài này tại đây
Tạo báo cáo với pytest-html
Pytest không thể cung cấp mọi thứ, nhưng nhờ có hệ thống plugin, nó không cần phải. Có một plugin gọi là pytest-html mà chúng ta có thể cài đặt vào môi trường ảo của mình
con trăn1
$ pip cài đặt pytest-html
Để tạo báo cáo tương tác nhẹ, chúng ta có thể chạy pytest với tùy chọn --html=report.html
1
$ pytest --html=report.html
Điều này tạo ra một báo cáo tập tin. html [và thư mục nội dung] mà bạn có thể mở trong trình duyệt của mình
Các hộp kiểm cho phép bạn lọc các bài kiểm tra của mình và chỉ hiển thị những bài bạn quan tâm
Tùy chỉnh CSS
Tôi thích nội dung của báo cáo, nhưng tôi thấy văn bản màu xám khó đọc. May mắn thay, điều đó rất dễ sửa chữa với tệp CSS tùy chỉnh như tệp này
báo cáo của tôi. css
CSS1
2
3
4
5
6
7
td {
màu. đen;
}
body {
màu. đen;
}
Chúng tôi có thể chỉ định một hoặc nhiều tệp CSS bằng tùy chọn --css
1
$ pytest --html=report.html --css= . .css
Nếu bây giờ chúng tôi mở báo cáo trong trình duyệt, chúng tôi có thể đọc văn bản tốt hơn rất nhiều
Pytest-html lấy các tệp CSS của bạn] và nối chúng vào nội dung/kiểu. css. Do đó, bạn sẽ không thấy bất kỳ thay đổi nào khi chỉnh sửa myreport. css và làm mới báo cáo trong trình duyệt. Trước tiên, bạn cần chạy lại pytest để thấy sự thay đổi
Nội dung/phong cách. css là điểm khởi đầu tốt để thay đổi bố cục. Chỉ cần nhớ không sửa đổi tệp đó, sau đó pytest sẽ ghi đè lên nó trong lần chạy tiếp theo
Chia sẻ báo cáo trên web
Bạn có thể lấy báo cáo. html và thư mục nội dung và đặt nó trên máy chủ web. Cài đặt Chính sách bảo mật nội dung [CSP] có thể ngăn CSS được tải vào trình duyệt. Đây có phải là trường hợp không, bạn có thể sử dụng tùy chọn --self-contained-html
để nội tuyến CSS
1
$ pytest --html=report.html --css= . .css --self-contained-html
Báo cáo của bạn trông như trước, nhưng thay vì liên kết đến kiểu. css, bây giờ bạn có tất cả các định nghĩa CSS trong phần tiêu đề của trang HTML
XHTML1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Báo cáo thử nghiệm
.
/*********************************
* CSS TÙY CHỈNH
* báo cáo của tôi. css
*********************************/
td {
màu sắc. đen;
}
body {
màu sắc. đen;
}
Kế tiếp
Danh sách các plugin và gói của chúng tôi ngày càng tăng – và hầu hết chúng tôi chỉ cần để phát triển ứng dụng của mình và không chạy nó trong sản xuất. Tuần tới chúng ta xem xét một cách tiếp cận thú vị với các yêu cầu. txt để giải quyết điểm này