728x90
AssertionError: test failed: condition not met
오류는 테스트 중 특정 조건이 충족되지 않아 assert
구문이 실패했음을 나타냅니다. 이는 일반적으로 단위 테스트나 검증 코드에서 기대한 결과가 실제 결과와 일치하지 않을 때 발생합니다.
이 메시지는 종종 pytest
나 unittest
같은 테스트 프레임워크 내에서 발생하며, 테스트 대상의 로직에 문제가 있거나 테스트 조건 자체가 잘못되었을 수 있습니다.
● 오류 발생 예시
def add(a, b):
return a + b
def test_add():
assert add(2, 2) == 5, "덧셈 결과가 올바르지 않음"
test_add()
2 + 2는 4이지만 5로 비교하고 있으므로 AssertionError
가 발생합니다.
AssertionError: 덧셈 결과가 올바르지 않음
● 해결 방법
- 테스트 조건이 정확한지 다시 확인
- 기대값과 실제 결과의 차이를 로그로 출력하여 비교
- 비교값에 허용 오차가 필요한 경우
math.isclose
또는pytest.approx
사용
● 예시 코드 (정확한 조건 사용)
def test_add():
result = add(2, 2)
assert result == 4, f"기대값 4, 실제값 {result}"
● 자주 하는 실수
- 기댓값 오타 또는 잘못된 수치 설정
- 부동소수점 비교 시 정밀도 차이 고려 부족
- 입력값이나 실행 순서를 테스트 시점에 누락
● 결론
AssertionError - test failed: condition not met
는 테스트 대상이 기대 조건을 만족하지 않을 때 발생합니다. 테스트 코드는 조건을 명확히 정의하고, 실패 시 원인을 빠르게 파악할 수 있도록 로그 메시지를 작성하는 것이 중요합니다.
728x90