開発時依存
時々、テストにのみ必要な依存がある場合があります(例えばベンチマーク)
このような依存はCargo.tomlの[dev-dependencies]節に追加してください。
この依存は、このクレートに依存する他のクレートには影響しません。
assert!マクロを拡張するクレートを例に取ってみましょう。
ファイルCargo.toml:
# いつものデータは省略します
[dev-dependencies]
pretty_assertions = "0.4.0"
ファイルsrc/lib.rs:
// クレートをテストのみの使用に制限する
#[cfg(test)]
#[macro_use]
extern crate pretty_assertions;
pub fn add(a: i32, b: i32) -> i32 {
a + b
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_add() {
assert_eq!(add(2, 3), 5);
}
}
こちらも参照
Cargoのドキュメントの「依存を指定する」章