Rust编程语言-11-测试

测试

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目录

你可能感兴趣的:(Rust编程语言-11-测试)