Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Unittest를 사용하여 Python 프로그램에서 단위 테스트

<시간/>

이 기사에서는 Python 3.x에서 사용할 수 있는 unittest 모듈의 도움으로 소프트웨어 테스트의 기본 사항에 대해 배웁니다. 또는 더 일찍. 자동화, 테스트를 위한 설정 및 종료 코드 공유, 모든 프레임워크에 대한 독립적인 테스트가 가능합니다.

단위 테스트에서는 다양한 객체 지향 개념을 사용합니다. 여기서는 주로 사용되는 몇 가지 개념에 대해 논의할 것입니다.

  • 테스트 케이스 − 주어진 입력 세트에 따른 응답 특정 기본 클래스입니다. 이 작업을 구현하기 위해 "TestCase"와 같은 unittest의 기본 클래스를 사용합니다.

  • 테스트 스위트 − 테스트 케이스를 하나로 묶고 동시에 실행할 때 사용합니다.

  • 테스트 러너 − 작업의 결과 기반 실행을 따릅니다. 작업 수행 후 결과를 표시하는 역할을 합니다.

  • 테스트 픽스처 − 관련 환경에서 테스트 사례의 기준선 역할을 합니다.

이제 단위 테스트가 어떻게 작동하는지 보기 위한 기본 예를 들어보겠습니다.

import unittest
class TestStringMethods(unittest.TestCase):
   def test_upper(self):
      self.assertEqual('TUTOR'.lower(), 'tutor')
   def test_islower(self):
      self.assertTrue('tutor'.islower())
      self.assertFalse('Tutor'.islower())
if __name__ == '__main__':
   unittest.main()

출력

...
-------------------------------
Ran 2 tests in 0.000s
OK

Unittest를 사용하여 Python 프로그램에서 단위 테스트

여기서 우리는 단일 상속의 형태로 단위 테스트 클래스를 확장합니다. 여기서는 assertEqual() , assertTrue() 및 assertFalse() 와 같은 내장 메서드를 사용했습니다.

assertEqual()은 결과와 출력을 검증/비교하는 데 사용됩니다.

assertTrue()는 주어진 조건이 True인지 아닌지 확인하는 데 사용됩니다.


assertFalse()는 주어진 조건이 False인지 여부를 확인하는 데 사용됩니다.

위 코드의 출력은 세 가지 형식이 될 수 있습니다.

OK – 생성된 모든 테스트가 성공적으로 실행되었음을 나타냅니다.

FAIL – 테스트 케이스가 실패했고 AssertionError 예외가 발생했음을 나타냅니다.

ERROR – 테스트에서 예외/오류가 발생했음을 나타냅니다.

@unittest.skip()

데코레이터를 사용할 수 있습니다.

import unittest
class TestString(unittest.TestCase):
   @unittest.skip(“check skipped tests”)
   def test_upper(self):
      self.assertEqual('TUTOR'.lower(), 'tutor')
   def test_islower(self):
      self.assertTrue('tutor'.islower())
      self.assertFalse('Tutor'.islower())
if __name__ == '__main__':
   unittest.main()

출력

...
------------------------------------------
Ran 2 tests in 0.000s
OK (skipped=2)

결론

이 기사에서는 Python 3.x의 Unittest 모듈을 사용하여 Python의 단위 테스트에 대해 배웠습니다. 또는 그 이전.