Programming Languages/Python
함수 디버깅과 테스트
newclass
2025. 3. 26. 03:33
함수 디버깅과 테스트
디버깅 기법
print() 문 사용하기
def 문제_함수(a, b):
print(f"입력값: a={a}, b={b}")
결과 = a / b
print(f"결과: {결과}")
return 결과
# 함수 호출
try:
문제_함수(10, 0)
except Exception as e:
print(f"오류 발생: {e}")
예외 처리로 디버깅
def 안전한_나누기(a, b):
try:
print(f"a={a}, b={b} 나누기 시도")
결과 = a / b
return 결과
except ZeroDivisionError:
print("오류: 0으로 나눌 수 없습니다.")
return None
except Exception as e:
print(f"예상치 못한 오류: {e}")
return None
finally:
print("나누기 연산 완료")
단위 테스트
함수의 정확성을 검증하기 위한 단위 테스트를 작성할 수 있습니다.
def 테스트_더하기():
# 준비
a, b = 5, 3
예상_결과 = 8
# 실행
실제_결과 = 더하기(a, b)
# 검증
assert 실제_결과 == 예상_결과, f"더하기({a}, {b}) 결과가 {예상_결과}이 아니라 {실제_결과}입니다."
print("더하기 함수 테스트 통과!")
def 테스트_나누기():
# 케이스 1: 일반적인 나눗셈
a, b = 10, 2
예상_결과 = 5
실제_결과 = 나누기(a, b)
assert 실제_결과 == 예상_결과, f"나누기({a}, {b}) 결과가 {예상_결과}이 아니라 {실제_결과}입니다."
# 케이스 2: 0으로 나누기 예외 처리
a, b = 10, 0
try:
나누기(a, b)
assert False, "0으로 나누기 시 예외가 발생해야 합니다."
except ValueError:
# 예상대로 예외 발생
pass
print("나누기 함수 테스트 통과!")
# 테스트 실행
테스트_더하기()
테스트_나누기()