소개
이 실습에서는 개발 종속성 (development dependencies) 의 개념을 설명합니다. 개발 종속성은 Cargo.toml 파일의 [dev-dependencies] 섹션에 추가되며, 테스트, 예제 또는 벤치마크에 사용됩니다. 개발 종속성의 예로 pretty_assertions가 있습니다. 이 라이브러리는 assert_eq! 및 assert_ne!와 같은 표준 매크로를 확장하여 다채로운 차이점을 제공합니다.
참고: 실습에서 파일 이름을 지정하지 않으면 원하는 파일 이름을 사용할 수 있습니다. 예를 들어
main.rs파일을 사용하고rustc main.rs && ./main명령어로 컴파일 및 실행할 수 있습니다.
개발 종속성
때로는 테스트 (또는 예제 또는 벤치마크) 에만 필요한 종속성이 있습니다. 이러한 종속성은 Cargo.toml 파일의 [dev-dependencies] 섹션에 추가됩니다. 이러한 종속성은 이 패키지에 의존하는 다른 패키지로 전파되지 않습니다.
예시 중 하나는 pretty_assertions입니다. 이 라이브러리는 표준 assert_eq! 및 assert_ne! 매크로를 확장하여 다채로운 차이점을 제공합니다.
Cargo.toml 파일:
## 표준 크레이트 데이터는 생략
[dev-dependencies]
pretty_assertions = "1"
src/lib.rs 파일:
pub fn add(a: i32, b: i32) -> i32 {
a + b
}
#[cfg(test)]
mod tests {
use super::*;
use pretty_assertions::assert_eq; // 테스트 전용 크레이트. 일반 코드에서는 사용할 수 없습니다.
#[test]
fn test_add() {
assert_eq!(add(2, 3), 5);
}
}
요약
축하합니다! 개발 종속성 실습을 완료했습니다. LabEx 에서 더 많은 실습을 통해 기술을 향상시킬 수 있습니다.