Bạn có thể đánh dấu một bài kiểm tra bằng skip
và skipif
decorator khi bạn muốn bỏ qua một bài kiểm tra trong pytest
.
Bỏ qua một bài kiểm tra
@pytest.mark.skip(reason="no way of currently testing this")
def test_func_one():
...
Cách đơn giản nhất để bỏ qua một bài kiểm tra là đánh dấu nó bằng người skip
trang trí. Bài kiểm tra này có thể được vượt qua một tùy chọn reason
.
Cũng có thể bỏ qua thứ bậc trong quá trình thực thi hoặc thiết lập thử nghiệm bằng cách gọi pytest.skip(reason)
hàm. Điều này hữu ích khi không thể đánh giá điều kiện bỏ qua trong thời gian nhập.
def test_func_one():
if not valid_config():
pytest.skip("unsupported configuration")
Bỏ qua một bài kiểm tra dựa trên một điều kiện
@pytest.mark.skipif(sys.version_info < (3, 6), reason="requires python3.6 or higher")
def test_func_one():
...
Nếu bạn muốn bỏ qua dựa trên một điều kiện thì bạn có thể sử dụng skipif
thay thế. Trong ví dụ trước, hàm kiểm tra bị bỏ qua khi chạy trên trình thông dịch sớm hơn Python3.6.
Cuối cùng, nếu bạn muốn bỏ qua một bài kiểm tra vì bạn chắc chắn rằng nó không đạt, bạn cũng có thể cân nhắc sử dụng xfail
điểm đánh dấu để cho biết rằng bạn mong đợi một bài kiểm tra không đạt.
.skip
mà Mocha (Node.js) có không?it('tests something'...)
->it.skip('tests something'...)
sẽ vô hiệu hóa thử nghiệm cụ thể đó. Nó cũng có điều ngược lại tiện dụng:.only
sẽ chỉ chạy thử nghiệm đó và không chạy gì khác.