728x90
반응형

 티스토리 

 

Simple and Easy example Code

더보기

# unittest
- 파이썬의 표준 라이브러리 중 하나로, 자동화된 단위 테스트를 작성하기 위해 사용함
- 테스트 케이스의 작성, 테스트 스위트의 구성, 테스트 실행 및 결과 확인을 지원함
- JUnit과 유사한 구조를 가지고 있어 Java 경험이 있는 개발자에게 친숙함
- 각 테스트는 독립적이며, 여러 테스트 케이스를 하나의 테스트 스위트로 묶어 관리할 수 있음

1. Code Reviw

  Very Easy Simple Code.

import unittest

# 테스트할 함수 정의
def add(a, b):
    return a + b

# 테스트 케이스 클래스 정의
class TestAddFunction(unittest.TestCase):
    def test_add(self):
        self.assertEqual(add(1, 2), 3) # 1 + 2가 3과 같은지 검사
    def test_add_negative(self):
        self.assertEqual(add(-1, -1), -2) # 음수 덧셈 검사
    def test_add_float(self):
        self.assertAlmostEqual(add(1.1, 2.2), 3.3, places=1) # 부동소수점 덧셈 검사, 소수점 아래 1자리까지 검사

# 테스트 실행
if __name__ == '__main__':
    unittest.main()
더보기

이 코드는 add 함수에 대한 세 가지 테스트를 포함하고 있습니다: 양수의 덧셈, 음수의 덧셈, 부동소수점 수의 덧셈입니다. 각 테스트는 assertEqual 또는 assertAlmostEqual 메소드를 사용하여 함수의 반환값이 예상값과 일치하는지 검사합니다.

 

반응형

2. Example Unit Test #2

 또다른 예제 코드

import unittest

class TestStringMethods(unittest.TestCase):
    # 문자열이 대문자로 변환되는지 테스트하는 메소드
    def test_upper(self):
        self.assertEqual('foo'.upper(), 'FOO')
    
    # 문자열이 소문자로 변환되는지 테스트하는 메소드
    def test_islower(self):
        self.assertTrue('foo'.islower())
        self.assertFalse('Foo'.islower())
    
    # 특정 문자열을 포함하는지 테스트하는 메소드
    def test_split(self):
        s = 'hello world'
        self.assertEqual(s.split(), ['hello', 'world'])
        # split의 결과가 예상과 다를 때 발생하는 에러 메시지 지정
        with self.assertRaises(TypeError):
            s.split(2)

# 테스트 실행
if __name__ == '__main__':
    unittest.main()

 

더보기

테스트 실행은 python -m unittest <test_file>.py 명령어를 사용하거나, 파일 내부에 unittest.main()을 호출하여 직접 실행할 수 있음.

 

728x90

 

 

마무리

- 이번 포스팅은 Unit TestCode 에 대해 알아봤습니다.

CostZeroCode

 
 
 

궁금한 사항은 lution2@gmail.com로 문의사항  주시면 답변 드리겠습니다.
감사합니다.

 

 

728x90
반응형

+ Recent posts