학습 본문으로 건너뛰기
VAIRODE
pytest·debugging·logging22번째 작은 수업
오늘은 질문 하나만 해결해요22 / 52

도움 없이 한 번 더 풀어보기

parametrization으로 case와 oracle을 선언한다

오늘의 질문

`pytest.mark.parametrize`로 input·expected·case id를 데이터화하고 Cartesian product·mutable parameter·opaque id 위험을 통제한다. 이 판단을 생략하면 통과한 test와 많은 log가 있어도 결함을 놓치거나 잘못된 수정을 승인할 수 있습니다.

아직 답을 몰라도 괜찮아요. 아래 작은 예시를 보고 먼저 예상해 보세요.

01 · 혼자 확인해요

연습한 문제를 다시 풀며 혼자 확인하기

지금은 방금 연습한 문제를 다시 보는 시간이에요.아직 “완전히 익혔다”고 기록하지 않아요. 나중에 모양이 다른 문제도 도움 없이 풀면 그때 다시 확인할 수 있어요.

답과 과정 확인
80% 이상
내 말로 설명
80% 이상
막힌 곳 고치기
80% 이상
다른 문제에 써보기
80% 이상
스스로 확인하며 작성 중인 답0 / 4
  1. 01

    먼저 생각하기 · 기초

    td22 통화별 rounding case inventory에서 parametrization으로 case와 oracle을 선언한다 계약을 적용한다.의 collection·setup·act·assert·teardown·log 결과를 실행 전에 예측한다.

    지금은 답을 먼저 보여 주지 않아요. 내가 적은 답은 연습 메모로만 저장되고, 합격으로 기록되지 않아요.

    연습과 같은 문제를 다시 풀어 보는 시간이에요. 힌트 없이 먼저 생각해 보세요. 지금 적은 답은 바로 합격으로 기록되지 않아요.

    정답과 비교
  2. 02

    내 말로 설명하기 · 익힌 것을 써보기

    td22 결과를 Python 3.14.6·pytest 9.0.0 공식 계약과 최소 반례로 설명한다.

    지금은 답을 먼저 보여 주지 않아요. 내가 적은 답은 연습 메모로만 저장되고, 합격으로 기록되지 않아요.

    연습과 같은 문제를 다시 풀어 보는 시간이에요. 힌트 없이 먼저 생각해 보세요. 지금 적은 답은 바로 합격으로 기록되지 않아요.

    설명 기준과 비교
  3. 03

    틀린 곳 고치기 · 도전

    td22 서로 다른 예외·상태 계약을 한 표에 섞는다.에서 last-good·first-bad state와 실패 owner를 찾아 최소 수정을 검증한다.

    지금은 답을 먼저 보여 주지 않아요. 내가 적은 답은 연습 메모로만 저장되고, 합격으로 기록되지 않아요.

    연습과 같은 문제를 다시 풀어 보는 시간이에요. 힌트 없이 먼저 생각해 보세요. 지금 적은 답은 바로 합격으로 기록되지 않아요.

    답과 설명 함께 비교
  4. 04

    새 문제에 써보기 · 새 문제

    td22 td22 parametrization으로 case와 oracle을 선언한다: `pytest.mark.parametrize`로 input·expected·case id를 데이터화하고 Cartesian product·mutable parameter·opaque id 위험을 통제한다.를 통화별 rounding case inventory에 전이하고 결정성·격리·oracle·비노출 경계를 방어한다.

    지금은 답을 먼저 보여 주지 않아요. 내가 적은 답은 연습 메모로만 저장되고, 합격으로 기록되지 않아요.

    연습과 같은 문제를 다시 풀어 보는 시간이에요. 힌트 없이 먼저 생각해 보세요. 지금 적은 답은 바로 합격으로 기록되지 않아요.

    설명 기준과 비교

4개 답이 남았습니다.

02 · 나중에 한 번 더

모양이 다른 문제에서도 같은 생각을 써봐요

td22 parametrization으로 case와 oracle을 선언한다: `pytest.mark.parametrize`로 input·expected·case id를 데이터화하고 Cartesian product·mutable parameter·opaque id 위험을 통제한다.의 미공개 fixture에서 AI 없이 expected·first divergence·oracle·failure owner를 결정하고 재현 명령과 non-disclosure receipt를 제출한다.

검증 과제

AI가 제안한 parametrization으로 case와 oracle을 선언한다의 test·diagnostic 후보를 생성하되 학습자가 먼저 쓴 expected result와 독립 oracle을 바꾸지 않고 반례로 검증한다. 해법에 weak oracle, shared fixture state, wrong patch lookup, wrong log level, secret leak, branch gap 또는 order dependency 중 하나 이상을 심어 독립 evidence로 찾아 수정한다.