티스토리 뷰
반응형
파이썬의 unittest 단위 테스트 프레임워크는 테스트 결과를 TestResult 개체로 확인할 수 있다. TestResult 객체는 TestRunner.run() 메서드에 의해 반환된다. 보통 테스트를 실행하면 콘솔을 통해서 테스트 결과가 출력된다. 만일 테스트 결과를 얻어서 처리하고 싶다면 TestResult를 사용하면 된다.
# 테스트 실행 코드
다음은 이번 포스트에서 사용할 테스트 실행 코드이다.
import unittest
class TestCase(unittest.TestCase):
def test_method1(self):
print("test_method1")
self.assertTrue(True)
def test_method2(self):
print("test_method2")
self.assertTrue(True)
if __name__ == "__main__":
runner = unittest.TextTestRunner()
suite = unittest.makeSuite(TestCase)
result = runner.run(suite)
# TestResult 속성과 메서드
위의 코드에서 result는 TestResult 개체가 된다. TestResult 개체의 속성과 메서드에 대해 알아보자.
## errors 속성
테스트 케이스 인스턴스와 traceback을 포함한 문자열이 포함된 튜플이 포함된 리스트이다. 각 튜플은 예기치 못한 예외를 발생시킨 테스트를 나타낸다.
## failures 속성
테스트 케이스 인스턴스와 traceback을 포함한 문자열이 포함된 튜플이 포함된 리스트이다. 각 튜플은 TestCase.assert*() 메서드를 사용하여 실패한 테스트를 나타낸다.
## skipped 속성
테스트를 건너뛴 이유가 있는 튜플이 포함된 리스트이다.
## wasSuccessful() 메서드
지금까지 실행된 모든 테스트가 통과한 경우 True를 리턴하고, 그렇지 않은 경우 False를 리턴한다.
## expectedFailures 속성
예상된 테스트 케이스의 실패와 오류를 나타낸 튜플이 포함된 리스트이다.
## unexpectedSuccess 속성
실패로 예상된 테스트 케이스가 성공한 내용을 나타낸 튜플이 포함된 리스트이다.
# TestResult
if __name__ == "__main__":
runner = unittest.TextTestRunner()
suite = unittest.makeSuite(TestCase)
result = runner.run(suite)
print(f"result: {result}")
print(f"errors: {result.errors}")
print(f"failures: {result.failures}")
print(f"was all Successful? {result.wasSuccessful()}")
test_method1
.test_method2
.
----------------------------------------------------------------------
Ran 2 tests in 0.000s
OK
result: <unittest.runner.TextTestResult run=2 errors=0 failures=0>
errors: []
failures: []
was all Successful? True
반응형
'Python > unittest' 카테고리의 다른 글
파이썬 unittest - assert 메서드 (0) | 2023.02.19 |
---|---|
파이썬 unittest - 반복문에서 부분 테스트(subtest) 사용하기 (0) | 2023.02.19 |
파이썬 unittest - 테스트 로더 클래스 (0) | 2023.02.18 |
파이썬 unittest - 테스트 건너뛰기 (0) | 2023.02.18 |
파이썬 unittest - 테스트 함수를 unittest로 실행하기 (0) | 2023.02.18 |
댓글
공지사항