[python] pytest에서 특정 함수만 테스트하기
- 1 minpytest에서 특정 함수만 테스트하기
다음과 같이 test_sample.py
라는 테스트 파일이 있다고하자.
def test_sample1():
assert 1==1
def test_sample2():
assert 2==2
def test_sample3():
assert 3==4
def test_sample4():
assert 4==4
def test_sample5():
assert 5==5
전체 테스트를 위해서는 다음과 같이 실행하면 된다.
$ pytest test_sample.py
실행 결과는 다음과 같다.
collected 5 items
test_sample.py ..F.. [100%]
=================================================================================================================================== FAILURES ===================================================================================================================================
_________________________________________________________________________________________________________________________________ test_sample3 _________________________________________________________________________________________________________________________________
def test_sample3():
> assert 3==4
E assert 3 == 4
test_sample.py:8: AssertionError
========================================================================================================================= 1 failed, 4 passed in 0.07s ==========================================================================================================================
test_sample3
이 틀렸다는 사실을 알고 이를 수정했다.
이번에는 전체 테스트가 아닌 test_sample3
만 테스트 해보고싶을수도 있다.
이럴때는 다음과 같이 명령하면 된다.
$ pytest test_sample.py::test_sample3
결과는 다음과 같다.
collected 1 item
test_sample.py . [100%]
====================================== 1 passed in 0.03s ======================================
참고로, 특정 클래스 안에 있는 특정 함수를 실행하려면 다음과 같이 해주면 된다.
TestSampleSuits
클래스의 test_sample3
함수를 수행하려면 이렇게 해주면 된다.
$ pytest test_sample.py::TestSampleSuits::test_sample3