开发依赖

有时仅在测试中才需要一些依赖(比如基准测试相关的)。这种依赖要写在 Cargo.toml[dev-dependencies] 部分。这些依赖不会传播给其他依赖于这个包的包。

比如说使用 pretty_assertions,这是扩展了标准的 assert! 宏的一个 crate。

文件 Cargo.toml:

  1. # 这里省略了标准的 crate 数据
  2. [dev-dependencies]
  3. pretty_assertions = "0.4.0"

文件 src/lib.rs:

  1. // 仅用于测试的外部 crate
  2. #[cfg(test)]
  3. #[macro_use]
  4. extern crate pretty_assertions;
  5. pub fn add(a: i32, b: i32) -> i32 {
  6. a + b
  7. }
  8. #[cfg(test)]
  9. mod tests {
  10. use super::*;
  11. #[test]
  12. fn test_add() {
  13. assert_eq!(add(2, 3), 5);
  14. }
  15. }

参见

Cargo 文档中关于指定依赖的部分。