티스토리 뷰

Python/unittest

파이썬 unittest - assert 메서드

철철박사 2023. 2. 19. 18:26
반응형

파이썬의 unittest 단위 테스트 프레임워크에서 자주 사용하는 assert 메서드에 대해서 알아보자.

 

 

 

# 값 검사 메서드

TestCase 클래스는 값을 검사하고 실패를 보고하기 위해 assert 메서드를 제공한다. 모든 assert 메서드는 msg 인자를 추가로 받기 때문에 실패 시 출력 메시지를 전달할 수 있다. 

메서드 검사하는 내용 추가된 버전
assertEqual(a, b) a == b  
assertNotEqual(a, b) a != b  
assertTrue(x) x is True  
assertFalse(x) x is False  
assertIs(a, b) a is b 3.1
assertIsNot(a, b) a is not b 3.1
assertIsNone(x) x is None 3.1
assertIsNotNone(x) x is not None 3.1
assertIn(a, b) a in b 3.1
assertNotIn(a, b) a not in b 3.1
assertIsInstance(a, b) isinstance(a, b) 3.2
assertNotIsInstance(a, b) not isinstance(a, b) 3.2

 

 

 

# 예외, 경고, 로그 메시지 발생 검사 메서드

메서드 검사하는 내용 추가된 버전
assertRaises(exc, fun, *args, **kwds) fun(*args, **kwds)가 exc를 발생  
assertRaisesRegex(exc, r, fun, *args, **kwds) fun(*args, **kwds)가 exc를 발생하고 메시지가 정규식 r에 일치 3.1
assertWarns(warn, fun, *args, **kwds) fun(*args, **kwds)가 warn을 발생 3.2
assertWarnsRegex(warn, r, fun, *args, **kwds) fun(*args, **kwds)가 warn을 발생하고 메시지가 정규식 r에 일치 3.2
asserLogs(logger, level) with 블록이 최소 level로 logger에 로그를 남김 3.4
assertNoLogs(logger, level) with 블록이 최소 level로 logger에 로그를 남기지 않는다. 3.10
반응형
댓글
공지사항