3 个版本

0.1.2 2022 年 12 月 22 日
0.1.1 2022 年 12 月 22 日
0.1.0 2022 年 12 月 20 日

#589 in 测试

MIT 许可协议

14KB
128 代码行

testx-rs: 扩展的 Rust 测试用例

testx 包提供了 testx 宏,这是 Rust 的 test 宏的扩展版本。主要功能包括:

  • testx 宏与 Rust 的 test 宏完全兼容,所有用 #[testx] 标记(而不是 #[test])的测试用例都将通过 cargo-test 执行。
  • 支持测试准备函数。

入门

创建 testx 测试用例

使用 #[testx] 标记测试用例。调用 cargo test 将执行测试用例。

use testx::testx;

#[testx]
fn sample() {
   assert_eq!(1, 1);
}

// output:
// running 1 test
// test sample ... ok

使用 setup 函数准备测试用例数据

提供一个名为 setup 的函数,该函数为测试用例准备和返回一些数据。然后,测试用例需要一个参数,该参数必须与 setup 函数的返回值匹配。

#[testx] 标记的测试用例将首先执行 setup 函数,并将返回值传递给测试用例。

use testx::testx;

fn setup() -> u32 {
    4711
}

#[testx]
pub fn sample(num: u32) {
    assert_eq!(num, 4711);
}

安装

将以下行添加到 [dev-dependencies] 部分的 Cargo.toml 文件中

[dev-dependencies]
testx = "0.1.2"

依赖项

~1.5MB
~36K SLoC