- Integriertes Testkonzept
cargo test
führt die Tests aus
- Tests müssen nur mit den Makro
#[test]
markiert werden
- Framework erweitern die Testfunktionen bspw. um asynchrone Funktionen, sequentielle Ausführung etc
- Tests werden gerne in getrennte Testmodule verlagert
- Feature
test
wird bei der Ausführung aktiviert, mit dem Makro #[cfg(test)]
wird dann nur für den Test der entsprechende Code kompiliert
fn main() { }
pub fn add_signed_int16(a: i16, b: i16) -> i16 {
a + b
}
#[cfg(test)]
mod test {
use super::*;
#[test]
fn test_signed_add() {
assert_eq!(3, add_signed_int16(1, 2));
assert_eq!(-1, add_signed_int16(2, -3));
}
}
- Cargo intergriert ebenfalls eine Benchmark Suite
- Wird über
cargo bench
aufgerufen