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!, щоб надавати кольоровий diff. Файл Cargo.toml:

# standard crate data is left out
[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; // crate for test-only use. Cannot be used in non-test code.

    #[test]
    fn test_add() {
        assert_eq!(add(2, 3), 5);
    }
}

Див. також

Cargo docs on specifying dependencies.