Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

開発依存関係

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