テストを実行するには、
$ cargo test
を実行する
fn main() {
println!("This is test code");
}
#[cfg(test)]
mod tests {
#[test]
fn it_works() {
assert_eq!(2+2, 4);
}
}
Running unittests src/main.rs (target/debug/deps/sample-a78b7dbded83e75d)
running 1 test
test tests::it_works … ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
作成したfunctionのテストを行う
#[cfg(test)]
mod tests {
use {
super::*,
};
#[test]
fn test_quick_sort() {
let data = vec![6, 15, 4, 2, 8, 5, 11, 9, 7, 13];
let expected = vec![2, 4, 5, 6, 7, 8, 9, 11, 13, 15];
assert_eq!(expected, quick_sort(data));
}
}
note: to see what the problems were, use the option `–future-incompat-report`, or run `cargo report future-incompatibilities –id 1`
Running unittests src/main.rs (target/debug/deps/sample-a78b7dbded83e75d)
running 1 test
test tests::test_quick_sort … ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
assert!, assert_eq!, assert_ne!がある。
うおおおおおおおおおお、これは超絶勉強になるな…