在 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
這將分別運行庫的單元測試和可執行文件的集成測試。