Kỹ Thuật Viết Plugin Và Mở Rộng Pytest
Ghi Giới Thiệu Về Plugin Pytest
Bạn hoàn toàn có thể triển khai các plugin ngay trong dự án của mình dưới dạng file conftest hoặc tạo ra các gói cài đặt riêng biệt để sử dụng ở nhiều nơi, bao gồm cả các dự án bên thứ ba. Nếu mục tiêu của bạn chỉ là sử dụng mà không muốn đi sâu vào phát triển, hãy tham khảo hướng dẫn về cách cài đặt và kích hoạt ...
Đăng vào ngày 30 tháng 6 lúc 13:31
Viết hàm hook trong Pytest: Tùy chỉnh hành vi thông qua cơ chế mở rộng
Xác thực và thực thi hàm hook
Pytest sử dụng cơ chế hook để cho phép các plugin can thiệp vào quy trình chạy kiểm thử. Khi một hook được gọi, Pytest sẽ tìm tất cả các triển khai đã đăng ký phù hợp với định nghĩa chuẩn và thực hiện chúng theo thứ tự nhất định.
Ví dụ điển hình là pytest_collection_modifyitems(config, items), được gọi sau khi Pyt ...
Đăng vào ngày 28 tháng 6 lúc 03:58
Hướng dẫn tích hợp Allure với pytest để viết test case và xuất báo cáo kiểm thử
1. Cài đặt các gói cần thiết
Đảm bảo cài đặt đầy đủ các thư viện Python hỗ trợ tích hợp Allure và pytest:
pip install pytest allure-pytest
2. Viết test case có chú thích Allure
Dưới đây là file test_auth_flow.py, minh họa cách sử dụng các decorator của Allure để làm phong phú báo cáo — bao gồm phân nhóm theo tính năng, mô tả hành vi, gắn dữ l ...
Đăng vào ngày 21 tháng 6 lúc 21:33
Cá nhân hóa Quy trình Phát hiện Kiểm thử trong Pytest
Cá nhân hóa Quy trình Phát hiện Kiểm thử trong Pytest
Loại trừ Đường dẫn Trong Quá trình Thu thập
Để loại trừ một số thư mục hoặc mô-đun kiểm tra khỏi quá trình thu thập, bạn có thể sử dụng tùy chọn --ignore=path từ dòng lệnh. Pytest cho phép sử dụng nhiều tùy chọn --ignore. Ví dụ:
tests/
|-- example
| |-- test_example_01.py
| |-- test_ ...
Đăng vào ngày 14 tháng 6 lúc 00:01
Pytest API Tham chiếu - Biến và Ngoại lệ
Biến Đặc biệt (Special Variables)
Pytest xử lý một số biến toàn cục theo cách đặc biệt khi chúng được định nghĩa trong các mô-đun kiểm thử.
collect_ignore
Được sử dụng để loại trừ các thư mục hoặc mô-đun kiểm thử. Cần phải là `list[str]`.
collect_ignore = ["setup.py"]
collect_ignore_glob
Được sử dụng để loại trừ các thư mục hoặc mô-đun kiểm ...
Đăng vào ngày 12 tháng 6 lúc 09:40
Hướng Dẫn Cơ Bản Về Cài Đặt Và Sử Dụng Pytest
Giới thiệu chung
Pytest là một khung kiểm thử phần mềm mã nguồn mở dành cho ngôn ngữ Python, giúp đơn giản hóa quy trình viết các bộ kiểm thử. Nó hỗ trợ nhiều phiên bản Python trên cả hệ điều hành Windows, Unix và macOS. Điểm mạnh của công cụ này nằm ở khả năng đọc hiểu dễ dàng của các đoạn mã kiểm thử và cơ chế tự động phát hiện các trường hợp ...
Đăng vào ngày 11 tháng 6 lúc 01:26
Pytest API Tham Khảo: Quản Lý Fixture và Các Built-in Fixture Quan Trọng
Fixture trong Pytest
Fixture là một cơ chế trung tâm trong Pytest, cho phép chia sẻ dữ liệu, trạng thái hoặc tài nguyên giữa các test và fixture khác. Một hàm test hoặc fixture khác có thể yêu cầu sử dụng fixture thông qua tham số hàm. Ví dụ:
def test_output(capsys):
print("hello")
captured = capsys.readouterr()
assert captured.out ...
Đăng vào ngày 9 tháng 6 lúc 01:48
Quản lý và tùy chỉnh nhật ký trong Pytest
Mặc định, Pytest tự động thu thập các bản ghi mức WARNING trở lên. Khi một test thất bại, thông tin log sẽ được hiển thị cùng với stdout và stderr trong phần tóm tắt kết quả.
Khi chạy lệnh:
pytest
Kết quả lỗi sẽ có dạng:
----------------------- Captured stdlog call ----------------------
test_example.py 26 WARNING nội dung log
---------- ...
Đăng vào ngày 8 tháng 6 lúc 23:30
Áp dụng Parametrize trong Pytest với Dữ liệu JSON và Excel
Decorator @pytest.mark.parametrize cho phép thực thi cùng một hàm kiểm thử với nhiều bộ dữ liệu đầu vào khác nhau, hỗ trợ hiệu quả cho mô hình kiểm thử dựa trên dữ liệu (data-driven testing).
1. Sử dụng tệp JSON làm nguồn dữ liệu
Dữ liệu kiểm thử có thể được lưu trữ dưới dạng JSON để dễ dàng quản lý và tách biệt khỏi mã nguồn. Cấu trúc dữ liệu ...
Đăng vào ngày 6 tháng 6 lúc 23:51
Thực hành kiểm thử API với Python: Xây dựng và tự động hóa
Trong bài học này, chúng ta sẽ xây dựng các endpoint API đơn giản bằng Flask, sau đó viết kịch bản kiểm thử tự động sử dụng thư viện requests và khung chạy kiểm thử pytest. Trọng tâm là cách thiết kế, gọi và xác minh hành vi của API một cách hiệu quả — không phụ thuộc vào giao diện người dùng.
Xây dựng API mẫu
Endpoint tính tổng (GET/POST hỗn ...
Đăng vào ngày 1 tháng 6 lúc 11:08