Rust Grundlagen auf dem PC · Teil 22TutorialEinsteiger

Rust

Rust Grundlagen 22: Crates und Tests

Bibliotheken und Qualitätssicherung. Verständliche Rust-Lektion mit Beispielen, Übung und Musterlösung.

Kapitel: Praktische Anwendungen

Veröffentlicht am

Teil 22: Crates und Tests

Lernziel: Bibliotheken und Qualitätssicherung.

Voraussetzungen: Die vorherigen Lektionen, insbesondere Teil 21.

Worum geht es?

Ein Rust-Paket heißt Crate. Cargo verwaltet Abhängigkeiten. Mit automatisierten Tests kannst du wichtige Berechnungen wiederholt überprüfen.

Schritt für Schritt

Bibliotheken einbinden

Eine Crate kann über cargo add ergänzt werden, beispielsweise:

cargo add serde --features derive

Dadurch wird Cargo.toml angepasst. Cargo.lock hält aufgelöste Versionen fest. Für diesen Kurs benötigst du jedoch keine externe Bibliothek.

Testbarer Code

Erstelle src/main.rs:

fn mittelwert(werte: &[f64]) -> Option<f64> {
    if werte.is_empty() { return None; }
    Some(werte.iter().sum::<f64>() / werte.len() as f64)
}

fn main() {
    println!("{:?}", mittelwert(&[2.0, 4.0, 6.0]));
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn drei_werte() {
        assert_eq!(mittelwert(&[2.0, 4.0, 6.0]), Some(4.0));
    }

    #[test]
    fn leere_liste() {
        assert_eq!(mittelwert(&[]), None);
    }
}

Starte cargo test. Weitere Werkzeuge sind cargo fmt für Formatierung und cargo clippy für Codehinweise. Vergleiche Gleitkommazahlen bei allgemeinen Berechnungen besser mit Toleranz statt blind auf bitgenaue Gleichheit zu setzen.

Selbst ausprobieren

Ergänze einen Test für genau einen Messwert und starte cargo test.

Musterlösung anzeigen
#[test]
fn einzelwert() {
    assert_eq!(mittelwert(&[7.5]), Some(7.5));
}

Den Test innerhalb des vorhandenen tests-Moduls ergänzen. cargo test muss alle drei Tests bestehen.

Das solltest du mitnehmen

  • Bibliotheken und Qualitätssicherung.
  • Nutze cargo run für das Ausführen und cargo check für eine schnelle Fehlerprüfung (ab Teil 4).
  • Experimentiere mit veränderten Werten und beobachte die Compilermeldungen.

Weiterführende Quellen


← Vorheriger Teil | Kursübersicht | Nächster Teil →