Rust的集成测试

在用Rust开发应用的时候,有时候我们需要引入第三方的lib,这个时候,我们需要进行一些集成测试,我们看下应用的集成测试怎么做。

参照官方文档:我们在项目代码的根目录,也就是src目录平级,建立一个tests,它就是集成测试的目录,然后我们在下面建立测试文件,比如email_test.rs

目录结构如下

.
├── Cargo.lock
├── Cargo.toml
├── LICENSE.md
├── README.md
├── src
│   ├── main.rs
└── tests
    └── email_test.rs

然后里面的测试代码如下:

#[test]
fn it_adds_two() {
    let b = 2 + 2;
    assert_eq!(4, b);
}

上面只是一个简单的例子,然后我们在项目根目录,打开一个shell,然后运行cargo test,验证测试是否通过

$ cargo test
   Compiling example v0.1.0 (/Users/nomore/workspace/private/example)
    Finished test [unoptimized + debuginfo] target(s) in 1.55s
     Running unittests (target/debug/deps/example-2cc0fa491b140899)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/email_test.rs (target/debug/deps/email_test-070eff04f2221b62)

running 1 test
test it_adds_two ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

你学会了吗?

官方的文档讲解详细:我们在项目目录的顶层创建了一个tests目录,紧挨着src。Cargo 知道在这个目录中寻找集成测试文件。然后,我们可以在这个目录中创建任意数量的测试文件,Cargo 会将每个文件编译为单独的 crate。

分类: 默认 标签: 发布于: 2022-03-17 16:09:17, 更新于: 2022-03-17 16:13:42