開発中の依存関係

テスト(あるいは例やベンチマーク)のためだけに、あるクレートに依存しなければならないことがあります。このような依存関係は、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);
    }
}

参照

Cargo 依存関係の指定について