Rust 트랙에서 테스트하기

Exercism에서 Rust 연습 문제를 테스트하는 방법을 배워요


코드는 src/lib.rs에 작성해요. 연습 문제에는 src/lib.rs에 스텁 파일이 함께 있는데, 이 파일에서 작성해야 할 코드의 시그니처를 확인할 수 있어요.

대부분의 연습 문제에서는 모든 코드를 src/lib.rs 파일에 작성하는 게 좋아요. 풀이를 여러 파일로 나누고 싶다면 Rust 책의 모듈 챕터를 참고해요.

테스트 실행하기

테스트를 실행하려면 다음 명령어만 실행하면 돼요:

$ cargo test

기본적으로 첫 번째 테스트만 활성화되어 있어요. 다음 테스트를 통과할 준비가 되면, 다음 테스트에서 ignore 플래그(#[ignore])를 제거해요. 원한다면 모든 테스트에서 한 번에 플래그를 제거해도 돼요.

테스트를 통과시키기 위해서라면 가능한 한 적은 코드를 작성해도 괜찮아요. 테스트 실패 메시지가 다음에 무엇을 작성해야 할지 안내해 줘요.

Rust는 컴파일 시점에 모든 코드를 검사하기 때문에, 필요한 코드를 작성하기 전까지는 테스트가 컴파일되지 않을 수 있어요. ignore가 붙은 테스트도 컴파일 시점에 검사돼요. 컴파일되지 않는 테스트는 각 줄을 //로 시작해서 주석 처리할 수 있어요. 그런 다음 그 테스트를 작업할 준비가 되면 주석을 해제하면 돼요. Rust에는 todo!()라는 특별한 매크로도 있는데, 아직 완성하지 않은 코드 경로에 사용하면 프로그램이 컴파일되도록 만들 수 있어요.

라이브러리 사용하기

대부분의 연습 문제는 외부 라이브러리 없이 해결할 수 있어요. 그래도 연습 문제가 있는 디렉터리에서 cargo add crate-name을 실행하면 라이브러리를 추가할 수 있어요. Rust 커뮤니티에서는 라이브러리를 크레이트라고 불러요.

웹사이트의 자동 테스트는 미리 정의된 크레이트 집합만 지원하는데, 이는 여기의 [dependencies] 섹션에서 확인할 수 있어요. 특정 크레이트 지원이 추가되기를 바란다면, 이슈나 풀 리퀘스트를 자유롭게 열어 주세요.