기본 사용
import pytest
@pytest.fixture()
def setup():
print("\nSetup ===============")
def test1(setup):
print("Execute test1")
assert True
test_cal.py::test1
Setup ===============
PASSED [100%]Execute test1
yield 사용
import pytest
@pytest.fixture()
def setup2():
print("\nBefore ====================")
yield
print("\nAfter =====================")
def test2(setup2):
print("Execute test2")
assert True
test_cal.py::test2
Before ====================
PASSED [100%]Execute test2
After =====================
params 사용
import pytest
@pytest.fixture(params=[1, 2, 3])
def setup3(request):
ret = request.param
print(f"\nret={ret}")
return ret
def test3(setup3):
print(f"\nsetup3 = {setup3}")
assert True
test_cal.py::test3[1]
ret=1
PASSED [ 33%]
setup3 = 1
test_cal.py::test3[2]
ret=2
PASSED [ 66%]
setup3 = 2
test_cal.py::test3[3]
ret=3
PASSED [100%]
setup3 = 3
skip slow test
pip install pytest-skip-slow
import time
import pytest
def my_slow_func():
time.sleep(5)
return True
@pytest.mark.slow
def test_my_slow_func():
assert my_slow_func()
- 실행
- slow test 제외(default): pytest -v test_slow.py
- slow test 포함: pytest -v --slow test_slow.py
- 참고