#mocking #boilerplate #type #generate #mocked #original #toffel

nightly mocktoffel

一个易于使用的最小化样板代码的模拟库

1 个不稳定版本

0.1.0 2023年6月10日

#654测试

MIT/Apache

29KB
602

crates.io

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