#proc-macro #attributes #interpolate #name #procedural #repetitive

interpolate_name

用于重复测试的简单过程宏属性

8个版本

0.2.4 2023年9月12日
0.2.3 2019年8月25日
0.2.2 2019年5月10日
0.2.1 2019年3月3日
0.1.1 2018年8月10日

#632 in 测试

Download history 10833/week @ 2024-03-14 11586/week @ 2024-03-21 11658/week @ 2024-03-28 12905/week @ 2024-04-04 14493/week @ 2024-04-11 12881/week @ 2024-04-18 14870/week @ 2024-04-25 19143/week @ 2024-05-02 18372/week @ 2024-05-09 17994/week @ 2024-05-16 14402/week @ 2024-05-23 12732/week @ 2024-05-30 12616/week @ 2024-06-06 15591/week @ 2024-06-13 16697/week @ 2024-06-20 16503/week @ 2024-06-27

63,762 每月下载量
用于 35 个工具包 (4 直接)

MIT 许可证

8KB
134 代码行

过程宏属性,用于在测试中避免重复

用法

#[macro_use]
extern crate interpolate_name;

use interpolate_name::interpolate_test;

#[interpolate_test(foo, "foo")]
#[interpolate_test(bar, "bar")]
#[interpolate_test(baz, "baz")]
fn testme(f: &str) {
    println!("testing {}", f);
}

生成

running 3 tests
test testme_baz ... ok
test testme_bar ... ok
test testme_foo ... ok

lib.rs:

interpolate_name

interpolate_name 包含一系列过程宏属性,旨在减少编写重复测试时的样板代码。

  • interpolate_test:通过传递特定参数快速测试相同函数,并为每个参数创建一个测试条目。
  • interpolate_name:一个简单的函数重命名器,可以与宏结合使用以支持更复杂的模式。

依赖项

~315–770KB
~19K SLoC