TestCase

매일 공부(ML)·2022년 10월 4일
0

이어드림

목록 보기
143/146

TestCase 하위 클래스를 사용해 프로그램에서 연관된 행동 방식을 검증하라

표준적인 방법:unittest내장 모듈을 쓰는 것이다.

#utils.py

def to_str(data):
	if isinstance(data, str):
    	return data
    elif isinstance(data,bytes):
    	return data.decode('utf-8')
    else:
    	raise TypeError("str이나 bytes를 전달해야 합니다.'
        				'찾은 값: %r' % data)

#utils_test.py
from unittest import TestCase, main
from utils import to_str

class UtilsTestCase(TestCase):
	def test_to_str_bytes(self):
    	self.assertEqual('hello', to_str(b'hello'))
        
    def test_to_str_str(self):
    	self.assertEqual('hello', to_str('hello')
        
    def test_failing(self):
    	self.assertEqual('incorrect', to_str('hello'))

if __name__ == '__main__':
	main()


테스트는 TestCase의 하위클래스로 구성이 되고 어떤 테스트 메서드가 아무런 Exception도 발생시키지 않고 실행이 끝나면 테스트가 성공한 것이고 일부분이 실패해도 최초로 문제가 생긴 시점에서 멈추지 않고 진행하므로 전반적인 그림을 그릴 수 있다.


profile
성장을 도울 아카이빙 블로그

0개의 댓글