Pytest - Thực thi tệp
Trong chương này, chúng ta sẽ học cách thực thi một tệp thử nghiệm và nhiều tệp thử nghiệm. Chúng tôi đã có một tệp thử nghiệmtest_square.pytạo. Tạo một tệp thử nghiệm mớitest_compare.py với mã sau -
def test_greater():
num = 100
assert num > 100
def test_greater_equal():
num = 100
assert num >= 100
def test_less():
num = 100
assert num < 200
Bây giờ để chạy tất cả các bài kiểm tra từ tất cả các tệp (2 tệp ở đây), chúng ta cần chạy lệnh sau:
pytest -v
Lệnh trên sẽ chạy các bài kiểm tra từ cả hai test_square.py và test_compare.py. Đầu ra sẽ được tạo như sau:
test_compare.py::test_greater FAILED
test_compare.py::test_greater_equal PASSED
test_compare.py::test_less PASSED
test_square.py::test_sqrt PASSED
test_square.py::testsquare FAILED
================================================ FAILURES
================================================
______________________________________________ test_greater
______________________________________________
def test_greater():
num = 100
> assert num > 100
E assert 100 > 100
test_compare.py:3: AssertionError
_______________________________________________ testsquare
_______________________________________________
def testsquare():
num = 7
> assert 7*7 == 40
E assert (7 * 7) == 40
test_square.py:9: AssertionError
=================================== 2 failed, 3 passed in 0.07 seconds
===================================
Để thực hiện các bài kiểm tra từ một tệp cụ thể, hãy sử dụng cú pháp sau:
pytest <filename> -v
Bây giờ, hãy chạy lệnh sau:
pytest test_compare.py -v
Lệnh trên sẽ chỉ thực hiện các bài kiểm tra từ tệp test_compare.py. Kết quả của chúng tôi sẽ là -
test_compare.py::test_greater FAILED
test_compare.py::test_greater_equal PASSED
test_compare.py::test_less PASSED
============================================== FAILURES
==============================================
____________________________________________ test_greater
____________________________________________
def test_greater():
num = 100
> assert num > 100
E assert 100 > 100
test_compare.py:3: AssertionError
================================= 1 failed, 2 passed in 0.04 seconds
=================================