본문 바로가기
반응형

분류 전체보기174

[Python] PyTest - parametrize 사용해보기 2 이전 게시글에서 parametrize 데코레이터를 사용했었는데, 이번에는 conftest 라는 파일과 함꼐 사용해볼 예정이다.2024.04.30 - [🎪 놀고있네/Python] - [Python] PyTest - parametrize 사용해보기 conftest 가 뭐냐??conftest.py 파일은 pytest에서 사용되는 특별한 파일이 파일은 pytest가 테스트를 수행할 때 특정 디렉토리에 있는 테스트 모듈들에 대한 공통 설정 및 리소스를 제공하는 데 사용일반적으로 conftest.py 파일에 fixtures 를 정의해서 테스트간 공통으로 리소스 공유한번 사용해 보자! 아래와 같은 코드가 있다.import pytest# 테스트할 함수def add(a, b): return a + b# Param.. 2024. 5. 4.
[Python] PyTest - parametrize 사용해보기 특정 함수를 여러번 사용 실행하는데, 입력값만 변경해서 반복적으로 호출해야되는 상황이 생기면중복으로 테스트 케이스를 작성하는 것이 비효율적일 때가 있다. 이때는 @pytest.mark.parametrize parametrize 데코레이터를 사용하면 된다. 예를 들어 구구단 코드를 작성해본다.import pytest# 구구단 6 단@pytest.mark.parametrize("num, output", [(1,6), (2,12), (3,18), (4,24)])def test_multiplication_6(num, output): .. 2024. 5. 4.
[Python] Pytest 사용해보기(Conftest) Pytest는 fixture는 다른 폴더나 모듈에서 공통으로 참조할 수 있다는 점이 핵심인데.따로 conftest.py 파일에서 fixture 를 사용할 수 있다.예제를 작성해보면 아래와 같은 test_sample.py 파일이 있다import pytest@pytest.fixturedef common_data(): return [1, 2, 3, 4]class Test_Class0: def test_A(self, common_data): assert sum(common_data) == 15 def test_B(self, common_data): assert max(common_data) == 4class Test_Case.. 2024. 5. 3.
[Python] pytest.raises 사용해보기 2024.05.01 - [🎪 놀고있네/Python] - [Python] Pytest - Xfail Tests위에 글에서 1 / 0 의 결과로 ZeroDivisionError 가 노출되었는데, 해결 방법을 찾아보자.예외처리할때 가장 먼저 생각나는 건 try-except 이다. 일반적인 설명은 try-except 문:try-except 문은 예외가 발생할 수 있는 코드 블록을 시도하고, 예외가 발생했을 때 이를 처리합니다.코드 블록에서 예외가 발생하면 프로그램의 실행이 중단되지 않고, 예외를 처리할 수 있습니다.try 블록 안에 있는 코드가 예외를 발생시키면, 해당 예외를 처리하는 except 블록이 실행됩니다. 코드로 작성해보면import pytestdef test_divide_by_0(): try.. 2024. 5. 2.
[Python] Pytest - Xfail Tests 임의로 테스트 케이스를 fail 처리하거나 skip 처리할 때 사용할 수 있는 마커가 있다.  아래와 같이 1 / 0 을 assert 로 하는 함수가 있다면, 실행 결과는 0으로 나눠지지 않는다는 에러메세지와 함꼐 Fail 이 나올 것이다.import pytestdef test_divide_by_0(): assert 1 / 0  여기에 xfail 데코레이터를 설정하면 테스트의 실행여부와 상관없이 결과가 xfail 인 테스트를 작성할 수 있따.@pytest.mark.xfail 2024. 5. 2.
[Python] PyTest-html pytest를 사용하면 테스트 결과 리포트 html 을 출력할 수 있다.pip install pytest-html 테스트 파일 # test_ex1.pyimport pytestdef func(x): return x + 1def test_answer(): assert func(3) == 5  pytest test_ex1.py --html=report.html  위 명령을 실행하면 현재 디렉토리에 report.html 파일이 생성되며, 이 파일은 테스트 실행 결과를 포함한 시각적인 HTML 리포트를 제공한다.  참고https://pytest-html.readthedocs.io/en/latest/installing.html=3.6 or PyPy3." data-og-title="Installation .. 2024. 5. 1.
[Python] Pytest - Skip Tests 테스트 케이스를 스킵하고 싶을 때 사용할 수 있다. 그때 사용할 수 있는 데이코레터가 skip과 skipif 이다. @pytest.mark.skip 아래와 같은 예시가 있다.import pytestdef test_sum(): assert 2 + 3 == 5 @pytest.mark.skipdef test_skip(): assert False 그런데 skip에 조건이 참이면 스킵하고, 거짓이면 실행하는 구문이 필요하다면 skipif(조건, 이유) 를 사용하면 된다.import pytestdef test_sum(): assert 2 + 3 == 15 @pytest.mark.skipdef test_skip(): assert False@pytest.mark.skipif(test_s.. 2024. 5. 1.
[Python] Fixture 사용해보기 Pytest 에는 테스트를 준비하는 데 사용되는 Fixture 라는 함수가 있음여러 케이스에서 공통으로 사용할 수 있음Fixture를 사용하면 테스트의 시작 전에 필요한 작업을 수행하고, 테스트가 완료된 후 정리 작업을 수행할 수 있음예를 들어, 데이터베이스 연결, 웹 브라우저 열기, 파일 생성 및 삭제 등의 작업을 fixture로 정의하여 테스트 메서드에서 사용할 수 있음pytest에서 fixture는 @pytest.fixture 데코레이터를 사용하여 정의됨 import pytest@pytest.fixturedef sample_data(): return [1, 2, 3, 4, 5]def test_with_fixture(sample_data): assert sum(s.. 2024. 5. 1.
[Python] Pytest 사용해보기(Class) 이전 포스팅에는 class 로 묶는 거 없이 테스트를 해보았다2024.04.27 - [🎪 놀고있네/Python] - [Python] Pytest 설치하고 사용하기 Test Case 를 각 class 안에 정의해서 코드를 작성해봄import pytest# Test Case: 결과값 = 입력값 + 1class TestClass0: def inc(x): return x + 1 def test_answer(): assert TestClass0.inc(3) == 5# Test Case: 결과값 = 두 입력값 더하기class TestClass1: def add(a,b): return a + b def t.. 2024. 5. 1.
반응형