はじめに
この実験では、開発依存関係の概念について説明します。開発依存関係は、Cargo.toml ファイルの [dev-dependencies] セクションに追加され、テスト、サンプル、またはベンチマークに使用されます。開発依存関係の例として、pretty_assertions があります。これは、assert_eq! や assert_ne! などの標準マクロを拡張して、カラー付きの差分を提供します。
注: 実験でファイル名が指定されていない場合、好きなファイル名を使用できます。たとえば、
main.rsを使用して、rustc main.rs &&./mainでコンパイルして実行することができます。
開発依存関係
時々、テスト(またはサンプル、またはベンチマーク)にのみ依存関係が必要な場合があります。このような依存関係は、[dev-dependencies] セクションの Cargo.toml に追加されます。これらの依存関係は、このパッケージに依存する他のパッケージには伝播されません。
そのような例の 1 つは、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 でさらに多くの実験を行ってみることができます。