2 个版本
0.1.1 | 2023 年 10 月 2 日 |
---|---|
0.1.0 | 2023 年 9 月 23 日 |
#15 in #parameterized
每月下载 37 次
在 extel 中使用
6KB
Extel Parameterized - 在 Rust 中编写参数化测试
Extel Parameterized,或简称 parameterized,是一个 proc 宏 crate,用于提供一个 parameters
宏,该宏可以将单参数函数转换为 Extel
可以解释的有效函数。
use extel::prelude::*;
use extel_parameterized::parameters;
fn single_test() -> ExtelResult {
let mut my_cmd = cmd!("echo -n \"hello world\"");
let output = my_cmd.output()?;
let string_output = String::from_utf8(output.stdout)?;
extel_assert!(
string_output == *"hello world",
"expected 'hello world', got '{}'"
string_output
)
}
#[parameters(1, 2, -2, 4)]
fn param_test(x: i32) -> ExtelResult {
extel_assert!(x > 0, "{} <= 0", x)
}
fn main() {
init_test_suite!(ExtelDemo, single_test, param_test);
ExtelDemo::run(TestConfig::default());
}
lib.rs
:
Extel Parameterized - 在 Rust 中编写参数化测试
Extel Parameterized,或简称 parameterized,是一个 proc 宏 crate,用于提供一个 parameters
宏,该宏可以将单参数函数转换为 Extel
可以解释的有效函数。
use extel::prelude::*;
use extel_parameterized::parameters;
fn single_test() -> ExtelResult {
let mut my_cmd = cmd!("echo -n \"hello world\"");
let output = my_cmd.output()?;
let string_output = String::from_utf8(output.stdout)?;
extel_assert!(
string_output == *"hello world",
"expected 'hello world', got '{}'",
string_output
)
}
#[parameters(1, 2, -2, 4)]
fn param_test(x: i32) -> ExtelResult {
extel_assert!(x > 0, "{} <= 0", x)
}
fn main() {
init_test_suite!(ExtelDemo, single_test, param_test);
ExtelDemo::run(TestConfig::default());
}