4 个版本

0.1.4 2024年5月2日
0.1.3 2024年4月27日
0.1.2 2024年4月27日
0.1.1 2023年8月20日
0.1.0 2023年8月11日

#1171Rust 模式

MIT/Apache

9KB
139

吉尔德

Crates.io

吉尔德是一个为懒人设计的断言库(也可以说是一个黄金测试库)。

黄金测试是一种常用的测试方法,用于检测程序输出的变化。它确保即使在修改代码的情况下,结果仍然保持一致。

在黄金测试中,程序的输出被保存在一个称为黄金文件的文件中,以保留它。在测试期间,实际输出将与黄金文件的内容进行比较。

吉尔德设计用于最小化实现成本,并提供了一个用于使用的唯一 API,即 assert_golden! 宏。它可以像 assert_eq! 一样使用,但不需要第二个参数。

入门

  1. 在 Cargo.toml 文件中将 Gilder 添加为依赖项
[dev-dependencies]
gilder = "0.1"
  1. 使用 assert_golden! 宏编写一个新的测试
#[test]
fn my_test() {
    use gilder::assert_golden;

    let target = something_you_want_to_test();
    assert_golden!(target);
}

assert_golden! 的参数必须实现 ToString 特性,以便写入黄金文件。

  1. 创建黄金文件

黄金文件是在第一次运行测试时生成的。

cargo test

具有 .gld 扩展名的黄金文件将被保存在包含测试代码的源文件相同的目录中。

  1. 测试

当存在黄金文件时运行测试,其行为与常规测试相同。

cargo test

如果宏检测到值的变化,它将引发错误。

  1. 更新黄金文件

当您更改函数的输出时,有必要相应地更新黄金文件。

要更新黄金文件,请删除现有文件并重新运行测试。

版权所有 (c) 2023 carrotflakes ([email protected])

许可

在以下两者中选择许可:

任选其一。

无运行时依赖