PYTHON · 테스트
커버리지
테스트 커버리지를 측정하고 분석하여 테스트되지 않은 코드를 찾습니다.
테스트중급coverage커버리지pytest-cov코드 분석
핵심 설명
테스트 커버리지를 측정하고 분석하여 테스트되지 않은 코드를 찾습니다.
Python code
# coverage 라이브러리 사용 패턴 시뮬레이션
# pip install coverage pytest-cov
# 테스트 대상 코드
def calculate_grade(score: int) -> str:
if score >= 90:
return "A"
elif score >= 80:
return "B"
elif score >= 70:
return "C"
elif score >= 60:
return "D"
else:
return "F"
def is_prime(n: int) -> bool:
if n < 2:
return False
if n == 2:
return True
if n % 2 == 0:
return False
for i in range(3, int(n**0.5) + 1, 2):
if n % i == 0:
return False
return True
# 테스트
def test_grade():
assert calculate_grade(95) == "A"
assert calculate_grade(85) == "B"
assert calculate_grade(75) == "C"
assert calculate_grade(65) == "D"
assert calculate_grade(50) == "F"
print("test_grade 통과!")
def test_prime():
assert not is_prime(1)
assert is_prime(2)
assert is_prime(3)
assert not is_prime(4)
assert is_prime(17)
print("test_prime 통과!")
test_grade()
test_prime()
# 실행 방법:
# pytest --cov=src --cov-report=html
# coverage run -m pytest
# coverage report --show-missing
# coverage html → htmlcov/index.html
print("\n커버리지 명령어:")
print(" pytest --cov=. --cov-report=term-missing")학습 팁
--cov-report=term-missing으로 커버되지 않은 줄 번호를 터미널에서 바로 확인할 수 있습니다.
주의할 점
100% 커버리지가 버그 없음을 의미하지 않습니다. 커버리지는 테스트되지 않은 코드를 찾는 도구일 뿐입니다.
자주 묻는 질문
커버리지란 무엇인가요?
테스트 커버리지를 측정하고 분석하여 테스트되지 않은 코드를 찾습니다.
커버리지 학습 시 주의할 점은 무엇인가요?
100% 커버리지가 버그 없음을 의미하지 않습니다. 커버리지는 테스트되지 않은 코드를 찾는 도구일 뿐입니다.
Continue Learning
Python 학습을 이어가세요
총 200개의 독립 HTML 학습 문서 중 하나입니다. 각 문서는 고유 URL과 canonical 메타데이터를 가집니다.