Einführung
In diesem Lab wird das Konzept der Entwicklungsabhängigkeiten erklärt. Entwicklungsabhängigkeiten werden im Abschnitt [dev-dependencies] der Datei Cargo.toml hinzugefügt und werden für Tests, Beispiele oder Benchmarks verwendet. Ein Beispiel für eine Entwicklungsabhängigkeit ist pretty_assertions, das standardmäßige Makros wie assert_eq! und assert_ne! erweitert, um farbige Differenzen bereitzustellen.
Hinweis: Wenn das Lab keinen Dateinamen angibt, können Sie einen beliebigen Dateinamen verwenden. Beispielsweise können Sie
main.rsverwenden und es mitrustc main.rs &&./mainkompilieren und ausführen.
Entwicklungsabhängigkeiten
Manchmal ist es erforderlich, Abhängigkeiten nur für Tests (oder Beispiele oder Benchmarks) zu haben. Solche Abhängigkeiten werden der Cargo.toml in der [dev-dependencies]-Sektion hinzugefügt. Diese Abhängigkeiten werden nicht an andere Pakete weitergegeben, die von diesem Paket abhängen.
Ein solches Beispiel ist pretty_assertions, das die standardmäßigen assert_eq!- und assert_ne!-Makros erweitert, um farbige Differenzen bereitzustellen.
Datei Cargo.toml:
## standard crate data is left out
[dev-dependencies]
pretty_assertions = "1"
Datei 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);
}
}
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Lab zu Entwicklungsabhängigkeiten abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.