[python] pytest에서 특정 함수만 테스트하기

- 1 min

pytest에서 특정 함수만 테스트하기

다음과 같이 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



코딩장이

코딩장이

-장이: [접사] ‘그것과 관련된 기술을 가진 사람’의 뜻을 더하는 접미사.

rss facebook twitter github youtube mail spotify lastfm instagram linkedin google google-plus pinterest medium vimeo stackoverflow reddit quora quora