0Pricing
Learn Rust Coding · 강의

문서 테스트

테스트된 예제

문서 테스트은(는) CoddyKit의 무료 Learn Rust Coding 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Learn Rust Coding 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Learn Rust Coding 강의에는 총 4개의 강의가 포함되어 있습니다.

문서 테스트란 무엇인가요

문서 테스트는 문서 주석 안에 작성된 코드 예제로, Cargo가 실제로 컴파일하고 실행합니다. 문서가 올바르고 예제가 작동하도록 유지해 줍니다.

문서 주석의 코드

/// 주석 안의 # Examples 제목 아래에 펜스 코드 블록(백틱 3개)으로 예제 코드를 작성합니다. 기본 언어는 Rust입니다.

/// Doubles a number.
///
/// # Examples
///
///     let result = my_crate::double(4);
///     assert_eq!(result, 8);
pub fn double(n: i32) -> i32 {
    n * 2
}

문서 테스트 실행하기

문서 테스트는 cargo test의 일부로 실행됩니다. Doc-tests 섹션에서 별도로 보고됩니다.

cargo test

예제의 어설션

예제에는 일반적으로 어설션을 포함합니다. 그러면 잘못된 예제가 단순히 컴파일되는 것이 아니라 테스트에서 실패합니다.

/// Returns the larger of two values.
///
/// # Examples
///
///     assert_eq!(my_crate::max(3, 7), 7);
///     assert_eq!(my_crate::max(9, 2), 9);
pub fn max(a: i32, b: i32) -> i32 {
    if a > b { a } else { b }
}

설정 줄 숨기기

#으로 줄을 시작하면 해당 줄을 실행하되 렌더링된 문서에는 숨길 수 있습니다. 가져오기와 같은 상용구 코드에 유용합니다.

/// # Examples
///
///     # use my_crate::Counter;
///     let mut c = Counter::new();
///     c.increment();
///     assert_eq!(c.value(), 1);

물음표를 사용하는 예제

? 연산자를 사용하려면 본문을 Result를 반환하는 숨겨진 main(또는 도우미 함수)으로 감싸야 합니다. 숨겨진 줄은 #으로 시작합니다.

/// # Examples
///
///     # fn run() -> Result<(), std::num::ParseIntError> {
///     let n: i32 = "42".parse()?;
///     assert_eq!(n, 42);
///     # Ok(())
///     # }

실행하지 않는 예제

펜스로 감싼 블록에 no_run 주석을 표시하면 컴파일만 하고 실행하지 않습니다. 네트워크나 파일이 필요한 예제에 유용합니다.

/// Fetches a page (compiled but not executed).
///
/// Annotate the code fence with no_run so it is type-checked only.
pub fn fetch(url: &str) -> String {
    format!("contents of {url}")
}

무시와 패닉 예상

코드 펜스에 사용할 수 있는 다른 주석입니다.

  • ignore — 컴파일하거나 실행하지 않음
  • should_panic — 패닉이 발생해야 함
  • compile_fail — 컴파일되지 않아야 함

문서 테스트가 중요한 이유

문서 테스트는 한 번에 두 가지 이점을 제공합니다.

  • 항상 정확한 문서
  • 공개 예제에 대한 무료 테스트 범위

예제가 깨지면 테스트 모음이 실패합니다.

예제에서 크레이트 이름 사용

문서 테스트는 크레이트 외부에서 실행되는 것처럼 동작하므로 크레이트 이름(예: my_crate::func)이나 use 가져오기를 통해 항목을 참조해야 합니다.

펜스 블록과 들여쓰기 블록

문서 테스트는 두 가지 블록 형식을 지원합니다.

  • 세 개의 백틱을 사용하는 펜스 블록. no_run과 같은 주석을 사용할 수 있습니다.
  • 들여쓴 블록(공백 네 개). 이 예제에서 볼 수 있는 형식입니다.

실제 코드에서는 펜스 블록이 더 일반적입니다.

빠른 확인

문서 테스트 코드 블록 안에서 #으로 시작하는 줄은 어떤 역할을 하나요?

복습

문서 테스트에 대해 다음을 배웠습니다.

  • /// 블록의 코드는 cargo test로 컴파일되고 실행됩니다.
  • 동작을 확인하려면 단언을 사용합니다.
  • #은 설정 줄을 렌더링된 문서에서 숨깁니다.
  • 주석: no_run, ignore, should_panic, compile_fail
  • 예제가 자동으로 올바른 상태를 유지하도록 합니다.

자주 묻는 질문

“문서 테스트” 강의는 무료인가요?

네 — “문서 테스트” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Learn Rust Coding 강의 전체를 잠금 해제할 수 있습니다. Learn Rust Coding 강의에는 총 4개의 강의가 포함되어 있습니다.

“문서 테스트”에서 뭘 배우나요?

테스트된 예제 브라우저에서 직접 실행하는 실습 코드로 Learn Rust Coding을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Learn Rust Coding을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Learn Rust Coding은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“문서 테스트” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Learn Rust Coding 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Learn Rust Coding 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 단위 테스트
  2. 통합 테스트
  3. 문서 주석
  4. 문서 테스트
← Learn Rust Coding(으)로 돌아가기