在 Rust 中,我们可以使用 salvo
库来编写单元测试和集成测试。首先,确保你已经安装了 salvo
库。如果没有,请运行以下命令来添加它:
cargo add salvo
接下来,我们将编写一个简单的 Rust 项目,包括一个库和一个可执行文件。我们将为库编写单元测试,并为可执行文件编写集成测试。
cargo new salvo_example
cd salvo_example
Cargo.toml
文件中,添加 salvo
和 test
依赖项:[dependencies]
salvo = "0.1"
[features]
default = ["lib"]
lib = []
test = []
src/lib.rs
文件中,编写一个简单的库函数:// src/lib.rs
pub fn add(a: i32, b: i32) -> i32 {
a + b
}
src/main.rs
文件中,编写一个可执行文件,调用库函数:// src/main.rs
mod lib;
fn main() {
let result = lib::add(3, 4);
println!("3 + 4 = {}", result);
}
tests/lib.rs
文件中,编写单元测试:// tests/lib.rs
use super::*;
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_add() {
assert_eq!(add(1, 2), 3);
assert_eq!(add(-1, 1), 0);
assert_eq!(add(0, 0), 0);
}
}
tests/integration.rs
文件中,编写集成测试:// tests/integration.rs
mod lib;
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_main() {
std::env::set_var("RUST_LOG", "info");
std::process::Command::new("target/debug/salvo_example")
.status()
.expect("Failed to execute the executable");
}
}
现在,你可以运行以下命令来执行单元测试和集成测试:
cargo test --lib
cargo test --bin salvo_example
这将分别运行库的单元测试和可执行文件的集成测试。