파이썬 단위 테스트

원래 게시일Ashraful's Blog

테스팅이란❓



테스트는 기본적으로 기능이 괜찮은지 확인하고 시스템에서 버그를 찾는 것입니다. 기본적으로 소프트웨어로 수행하는 테스트에는 여러 유형이 있습니다. 오늘 우리는 가장 유명한 단위 테스트 프로세스에 대해 이야기할 것입니다. 계속 합시다.

단위 테스트란 무엇입니까❓



단위 테스트는 시스템에서 논리적으로 분리될 수 있는 가장 작은 코드 조각인 단위를 테스트하는 방법입니다. 대부분의 프로그래밍 언어에서 이는 함수, 서브루틴, 메서드 또는 속성입니다.

Python의 내장 단위 테스트 💥



몇 가지 기능과 단위 테스트를 시도해 보겠습니다.

# test_add.py
# A very basic function for adding two numbers
def add(a: int, b: int) -> int:
    return a + b

# Writing Unit Test
import unittest

class TryingTheAwesomeUnitTest(unittest.TestCase):
    def test_add(self):
        self.assertEqual(add(5, 7), 12)

if __name__ == '__main__':
    unittest.main()


파일을 test_add.py로 저장하고 파일python3 test_add.py을 실행하여 다음 출력을 확인합니다.

.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK


PyTest 소개 🚀



pytest: helps you write better programs



Pytest는 Python을 위한 또 다른 테스트 라이브러리입니다. 파헤쳐 봅시다.

설치💡




pip install pytest



# test_2_add.py

# The same old function
def add(a: int, b: int) -> int:
    return a + b

def test_add():
    assert add(3, 5) == 9 # I want see the fail response


테스트를 실행하세요🐛



파일을 저장한 디렉토리에 pytest를 입력하기만 하면 됩니다.

$ pytest


결과🙈




============================================ test session starts =============================================
platform darwin -- Python 3.8.1, pytest-6.2.4, py-1.10.0, pluggy-0.13.1
rootdir: /Users/ashraful/Public/scripts
collected 1 item

test_2_add.py F                                                                                        [100%]

================================================== FAILURES ==================================================
__________________________________________________ test_add __________________________________________________

    def test_add():
>       assert add(3, 5) == 9 # I want see the fail response
E       assert 8 == 9
E        +  where 8 = add(3, 5)

test_2_add.py:8: AssertionError
========================================== short test summary info ===========================================
FAILED test_2_add.py::test_add - assert 8 == 9
============================================= 1 failed in 0.04s ==============================================


팁: 파일 이름test_을 접두사로 지정하는 것을 잊지 마십시오. 그렇지 않으면 pytest가 파일을 감지할 수 없습니다. 무엇이든test_ 접두사로 테스트 케이스에 대한 필수 규칙입니다.

좋은 웹페이지 즐겨찾기