1 个不稳定版本
0.1.0 | 2023年6月10日 |
---|
#654 在 测试
29KB
602 行
Mocktoffel
一个易于模拟类型而无需编写任何样板代码的库
安装
运行以下命令可以将此包添加到您的项目中:
cargo add moctoffel
如果这是一个不公开其类型模拟的二进制文件或库,建议将其作为开发依赖项添加,运行以下命令:
cargo add moctoffel --dev
使用方法
此包提供宏来模拟各种构造,并为每个模拟生成一个新类型。这确保了模拟不会干扰需要原始类型的其他测试代码(例如测试该类型),同时仍然对所有测试可用。
toffel 宏是启动器,将所有模拟文件替换为其相应的宏类型。
模拟宏将为定义在其上的结构体或枚举生成模拟。这将创建一个与类型相对应的新类型。
目前生成的模拟尚未测试门控。这可能在未来的版本中发生变化。预期用户将使用测试功能门将其包装起来。
use mocktoffel::{toffel, mock};
[toffel]
pub struct Foo {
#[mocked]
bar: Bar,
baz: String
}
#[mock]
pub struct Bar {
some: String,
#[mocked_with(Ok(1))]
thing: Result<i32, ()>
}
范围
特性/宏 | toffel | 模拟 |
---|---|---|
结构体 | ✓ | ✓ |
枚举 | ✓ | ✓ |
新类型结构体 | ✓ | ✓ |
泛型 | - | |
关联类型 | - | |
宏 | ||
函数 | ||
常量 | - |
MSRV
此包使用不稳定的不稳定功能。这些功能将随着功能的稳定而删除,或用稳定的填充项替换不稳定的功能。MSRV将在那时决定。
贡献
如果您想贡献错误修复或新功能,可以发送拉取请求。建议为任何主要功能添加创建新问题。该包在 MIT & Apache 许可证(第 2.0 版)下双许可。此存储库遵循Rust 代码行为准则
依赖
~280–730KB
~18K SLoC