728x90
반응형
Unittest?
Python의 테스트 프레임워크인 unittest는 코드 상의 특정 기능을 테스트하기 위해 작성된다. 일반적으로 특정 입력을 주고 예상된 출력이 나오는지의 형태로 테스트한다. 최근 CI/CD의 자동화와 안정성이 중요해지면서 전체 코드의 테스트 커버리지의 중요성도 함께 높아졌는데, 이 때 Python코드에서는 unittest가 일반적으로 사용된다.
unittest는 테스트 케이스를 class 단위로 작성하고, 그 안에 포함된 여러가지 메서드를 통해 기능을 테스트한다. 아래 코드는 unittest의 예시다.
import unittest
class TestStringMethods(unittest.TestCase):
def test_upper(self):
self.assertEqual('foo'.upper(), 'FOO')
def test_isupper(self):
self.assertTrue('FOO'.isupper())
self.assertFalse('Foo'.isupper())
def test_split(self):
s = 'hello world'
self.assertEqual(s.split(), ['hello', 'world'])
with self.assertRaises(TypeError):
s.split(2)
if __name__ == '__main__':
unittest.main()
>>>
...
----------------------------------------------------------------------
Ran 3 tests in 0.000s
OK
assertEqual(), assertTrue, assertFalse등의 메서드를 통해 위 함수의 결과값이 예상한 결과와 같은지 확인하고, 그에 따른 결과를 성공/실패로 판단해 결과를 출력해준다.
728x90
'Minding's Programming > Knowledge' 카테고리의 다른 글
[Kafka/Python] Kafka 설치 방법(Conduktor) (1) | 2024.12.05 |
---|---|
[Docker] Docker Volume (0) | 2024.11.15 |
[CI/CD] CI, CD 개념 및 Github Actions (1) | 2024.11.14 |
[BI/시각화] Superset (1) | 2024.10.31 |
[Snowflake] Snowflake 알아보기 (설치 방법) (0) | 2024.10.31 |