유닛 테스트
위치
src/*.rs 안
컴파일
#[cfg(test)]
때만 포함
접근
use super::*로
비공개 함수까지 가능
같은 `cargo test` 안에서도 src 내부 테스트, tests 디렉터리의 외부 관점 테스트, 도우미 모듈은 서로 다른 컴파일 단위와 접근 범위를 갖는다.
`src/main.rs`만 있는 실행 파일은 tests 디렉터리에서 함수를 가져올 수 없다. 핵심 로직을 `src/lib.rs`에 두고 main은 실행 진입점으로 작게 남긴다.
유닛 테스트가 실패하면 통합 테스트와 문서 테스트 절은 진행되지 않는다. 따라서 작은 범위의 실패를 먼저 고치고, 공개 API 관점의 실패를 그다음에 해석한다.