2 个版本
0.1.1 | 2021 年 1 月 6 日 |
---|---|
0.1.0 | 2021 年 1 月 6 日 |
#2688 在 Rust 模式
每月 28 次下载
9KB
93 行
default-test-rs
提供了一个类似于 Default 的 Rust 特性,可在测试中使用。
通常测试需要构建结构体的模拟实例。例如
struct User {
id: usize,
name: String,
email: String,
admin: bool
}
虽然定义 Default 很诱人,但测试通常需要为不应在生产代码中使用的类型提供模拟值。有时,测试需要为甚至未实现 Default 的类型提供值。
此 crate 提供了 DefaultTest,一个可以提供具有模拟值的默认实例的特性。
impl DefaultTest for User {
fn default_test() -> Self {
User {
id: 0,
name: "name".into(),
email: "email".into(),
admin: false
}
}
}
单元测试可以使用展开运算符来构建值
mod tests {
#[test]
fn test() {
let user = User {
id: 99
..User::test_default()
};
// ...
}
}
路线图
- 派生宏,用于填充在单元测试实现中可能有用的合理默认值。字符串文件将填充其属性名称,其他类型可以使用 T::default() 或唯一值。