문서 테스트
테스트된 예제
문서 테스트은(는) 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 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.