在 Rust 中编写测试,只需在测试函数的定义上方添加 #[test] 属性即可创建测试函数。
1
2
3
4
5
6
7
8
| fn plus(a:i32,b:i32)->i32 {
a+b
}
#[test]
fn plus_test() {
assert_eq!(plus(1, 1), 2);
}
|
可以使用 cargo test 运行测试代码。测试成功时输出 ok。
失败时输出 FAILED。
成功时
1
2
3
4
5
6
7
8
9
| C:\Users\admin\Desktop\test1>cargo test
Compiling test1 v0.1.0 (C:\Users\admin\Desktop\test1)
Finished test [unoptimized + debuginfo] target(s) in 0.35s
Running unittests src\main.rs (target\debug\deps\test1-be5d3118bc52cb3a.exe)
running 1 test
test plus_test ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
|
失败时
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| C:\Users\admin\Desktop\test1>cargo test
Compiling test1 v0.1.0 (C:\Users\admin\Desktop\test1)
Finished test [unoptimized + debuginfo] target(s) in 0.33s
Running unittests src\main.rs (target\debug\deps\test1-be5d3118bc52cb3a.exe)
running 1 test
test plus_test ... FAILED
failures:
---- plus_test stdout ----
thread 'plus_test' panicked at 'assertion failed: `(left == right)`
left: `2`,
right: `3`', src\main.rs:7:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
failures:
plus_test
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
error: test failed, to rerun pass '--bin test1'
|