이 기사에서는 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
여기서 우리는 단일 상속의 형태로 단위 테스트 클래스를 확장합니다. 여기서는 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의 단위 테스트에 대해 배웠습니다. 또는 그 이전.