测试
fn prints_and_returns_10(a: i32) -> i32 {
println!("I got the value {}", a);
10
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn this_test_will_pass() {
let value = prints_and_returns_10(4);
assert_eq!(10, value);
}
#[test]
fn this_test_will_fail() {
let value = prints_and_returns_10(8);
assert_eq!(5, value);
}
}
单元测试默认是并行执行的(in parralel)
一些参数或者调用方式:
- 串行执行测试
增加参数 test-threads=1,指定只有一个线程,所有测试必须一个接一个的执行
$ cargo test -- --test-threads=1 - 指定执行某些测试
- 忽略某些测试
-#[ignore],$cargo test -- --ignored
集成测试
tests/integration_test.rs
在src的同级目录创建tests目录