4 个版本
0.1.4 | 2024年5月2日 |
---|---|
0.1.3 | 2024年4月27日 |
0.1.2 |
|
0.1.1 | 2023年8月20日 |
0.1.0 | 2023年8月11日 |
#1171 在 Rust 模式
9KB
139 行
吉尔德
吉尔德是一个为懒人设计的断言库(也可以说是一个黄金测试库)。
黄金测试是一种常用的测试方法,用于检测程序输出的变化。它确保即使在修改代码的情况下,结果仍然保持一致。
在黄金测试中,程序的输出被保存在一个称为黄金文件的文件中,以保留它。在测试期间,实际输出将与黄金文件的内容进行比较。
吉尔德设计用于最小化实现成本,并提供了一个用于使用的唯一 API,即 assert_golden!
宏。它可以像 assert_eq!
一样使用,但不需要第二个参数。
入门
- 在 Cargo.toml 文件中将 Gilder 添加为依赖项
[dev-dependencies]
gilder = "0.1"
- 使用
assert_golden!
宏编写一个新的测试
#[test]
fn my_test() {
use gilder::assert_golden;
let target = something_you_want_to_test();
assert_golden!(target);
}
assert_golden!
的参数必须实现 ToString
特性,以便写入黄金文件。
- 创建黄金文件
黄金文件是在第一次运行测试时生成的。
cargo test
具有 .gld
扩展名的黄金文件将被保存在包含测试代码的源文件相同的目录中。
- 测试
当存在黄金文件时运行测试,其行为与常规测试相同。
cargo test
如果宏检测到值的变化,它将引发错误。
- 更新黄金文件
当您更改函数的输出时,有必要相应地更新黄金文件。
要更新黄金文件,请删除现有文件并重新运行测试。
版权
版权所有 (c) 2023 carrotflakes ([email protected])
许可
在以下两者中选择许可:
- Apache 许可证 2.0 版,(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。