본문 바로가기
프로그래밍언어/파이썬[Error]

[파이썬][Error] 079. AssertionError - test failed: condition not met

by about_IT 2025. 5. 30.
728x90

AssertionError: test failed: condition not met 오류는 테스트 중 특정 조건이 충족되지 않아 assert 구문이 실패했음을 나타냅니다. 이는 일반적으로 단위 테스트나 검증 코드에서 기대한 결과가 실제 결과와 일치하지 않을 때 발생합니다.

이 메시지는 종종 pytestunittest 같은 테스트 프레임워크 내에서 발생하며, 테스트 대상의 로직에 문제가 있거나 테스트 조건 자체가 잘못되었을 수 있습니다.

● 오류 발생 예시

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