[파이썬] unittest 테스트 결과를 HTML로 출력하기

소개

테스트는 소프트웨어 개발 과정에서 매우 중요합니다. Python에서는 unittest 모듈을 사용하여 단위 테스트를 작성할 수 있습니다. 이 모듈을 사용하면 테스트 케이스를 작성하고 실행한 후 결과를 확인할 수 있습니다. 그러나 기본적으로 unittest는 텍스트 형식으로 결과를 출력합니다. 이번 블로그 포스트에서는 unittest 테스트 결과를 HTML 형식으로 출력하는 방법을 알아보겠습니다.

HTMLTestRunner 사용하기

unittest의 테스트 결과를 HTML 형식으로 출력하기 위해서는 HTMLTestRunner라는 라이브러리를 사용해야 합니다. 이 라이브러리를 사용하면 웹 브라우저에서 보다 시각적으로 테스트 결과를 확인할 수 있습니다.

먼저, HTMLTestRunner를 설치해야 합니다. 터미널에서 다음 명령을 실행해주세요:

pip install HTMLTestRunner

다음은 HTMLTestRunner를 사용하는 예제 코드입니다:

import unittest
import HTMLTestRunner

class MyTests(unittest.TestCase):
    def test_addition(self):
        self.assertEqual(2+2, 4)

    def test_subtraction(self):
        self.assertEqual(5-2, 3)

if __name__ == '__main__':
    suite = unittest.TestLoader().loadTestsFromTestCase(MyTests)
    with open('test_report.html', 'w') as f:
        runner = HTMLTestRunner.HTMLTestRunner(stream=f, title='Unit Test Report')
        runner.run(suite)

위의 코드에서, HTMLTestRunnerstreamtitle을 매개변수로 받습니다. stream은 결과가 저장될 파일 객체를 의미하고, title은 테스트 결과 보고서의 제목입니다. unittest.TestLoader()를 사용하여 테스트 케이스를 로드하고, HTMLTestRunner.HTMLTestRunner()를 사용하여 테스트를 실행하고 결과를 HTML 형식으로 출력합니다.

테스트 결과 확인하기

HTMLTestRunner를 사용하여 테스트를 실행하고 결과를 HTML로 출력한 후, 결과를 확인하기 위해서는 생성된 HTML 파일을 웹 브라우저에서 열어야 합니다. 실행한 테스트의 총 개수, 성공한 테스트의 개수, 실패한 테스트의 개수, 각 테스트 케이스의 상세 결과 등을 확인할 수 있습니다.

결론

unittest를 사용하여 작성한 테스트 케이스의 결과를 HTML 형식으로 출력하는 것은 결과를 더욱 시각적으로 확인할 수 있는 좋은 방법입니다. HTMLTestRunner를 사용하면 웹 브라우저에서 쉽게 테스트 결과를 확인할 수 있습니다. 이를 통해 테스트를 더욱 효과적으로 수행하여 소프트웨어의 품질을 향상시킬 수 있습니다.