開発依存関係
テスト(またはサンプル、あるいはベンチマーク)のためだけに 依存関係が必要になることがあります。このような依存関係は、 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 のドキュメント。