728x90
AssertionError: assert False
오류는 assert
문이 실행되었을 때 조건이 False
여서 강제로 예외가 발생한 경우입니다. assert
는 테스트 또는 디버깅 목적으로 조건이 반드시 참이어야 한다는 의도를 명시할 때 사용하며, 조건이 거짓이면 AssertionError
를 발생시킵니다.
이 오류는 코드 검증 단계나 유닛 테스트, 사전 조건 확인 등에서 의도적으로 발생시키는 경우가 많으며, 예외 메시지를 통해 어떤 조건이 실패했는지 확인할 수 있습니다.
● 오류 발생 예시
assert False, "이 코드에 도달해서는 안 됩니다."
조건이 False
이므로 AssertionError
가 발생하며, 메시지도 함께 출력됩니다.
AssertionError: 이 코드에 도달해서는 안 됩니다.
● 해결 방법
assert
조건이 항상True
가 되도록 로직 확인- 검증에 실패한 원인을 명확히 파악하고 수정
- 테스트 코드에서는 실패 조건에 대해 명확한 설명 추가
● 예시 코드 (정상 조건)
x = 10
assert x > 0, "x는 양수여야 합니다."
● 자주 하는 실수
- 개발 중 테스트 목적으로
assert False
삽입 후 제거하지 않음 - 조건이 거짓일 수 있는 코드에서 예외 처리를 하지 않고
assert
만 사용 - 프로덕션 코드에서
assert
를 로직 제어 용도로 오용
● 결론
AssertionError - assert False
는 assert
구문이 실패했을 때 발생하는 오류입니다. 테스트, 디버깅, 사전 조건 검증의 용도로 적절히 사용하고, 실제 코드 흐름 제어에는 if
조건문과 예외 처리 구문을 사용하는 것이 바람직합니다.
728x90