Kiểm tra kết quả thực thi ở định dạng XML
Chúng tôi có thể tạo các chi tiết của việc thực thi thử nghiệm trong một tệp xml. Tệp xml này chủ yếu hữu ích trong trường hợp chúng tôi có một bảng điều khiển chiếu kết quả thử nghiệm. Trong những trường hợp như vậy, xml có thể được phân tích cú pháp để lấy thông tin chi tiết về việc thực thi.
Bây giờ chúng tôi sẽ thực hiện các bài kiểm tra từ test_multiplcation.py và tạo xml bằng cách chạy
pytest test_multiplication.py -v --junitxml="result.xml"
Bây giờ chúng ta có thể thấy result.xml được tạo với dữ liệu sau:
<?xml version = "1.0" encoding = "utf-8"?>
<testsuite errors = "0" failures = "1"
name = "pytest" skips = "0" tests = "4" time = "0.061">
<testcase classname = "test_multiplication"
file = "test_multiplication.py"
line = "2" name = "test_multiplication_11[1-11]"
time = "0.00117516517639>
</testcase>
<testcase classname = "test_multiplication"
file = "test_multiplication.py"
line = "2" name = "test_multiplication_11[2-22]"
time = "0.00155973434448">
</testcase>
<testcase classname = "test_multiplication"
file = "test_multiplication.py"
line = "2" name = "test_multiplication_11[3-35]" time = "0.00144290924072">
failure message = "assert (11 * 3) == 35">num = 3, output = 35
@pytest.mark.parametrize("num,
output",[(1,11),(2,22),(3,35),(4,44)])
def test_multiplication_11(num, output):>
assert 11*num == output
E assert (11 * 3) == 35
test_multiplication.py:5: AssertionErro
</failure>
</testcase>
<testcase classname = "test_multiplication"
file = "test_multiplication.py"
line = "2" name = "test_multiplication_11[4-44]"
time = "0.000945091247559">
</testcase>
</testsuite>
Đây, thẻ <testsuit> tổng kết có 4 bài thi và số bài không đạt là 1 bài.
Tag <testcase> cung cấp thông tin chi tiết của từng bài kiểm tra đã thực hiện.
Thẻ <failure> cung cấp thông tin chi tiết của mã kiểm tra không thành công.