1 个不稳定版本

0.6.0 2022年10月19日

#2435开发工具

每月下载 39 次
用于 sylvia-derive

MIT/Apache

24KB
339

syvia-runtime-macros

基于 runtime-macros 的自定义 derive 支持

此 crate 提供了一种在运行时模拟过程宏展开过程的方法。它旨在与代码覆盖率工具(如 tarpaulin)一起使用,这些工具无法测量编译时发生的任何内容的代码覆盖率。

目前它支持函数式属性和自定义 derive。尽管自定义 derive 上的自定义辅助属性可以工作,但它不支持将自定义属性作为宏。

要使用它,请向您的过程宏 crate 添加一个测试用例,该测试用例在调用宏的 .rs 文件上调用 emulate_macro_expansion。您想要使用它的所有文件很可能都在您的 /tests 目录中。完成此步骤后,任何与您的 crate 测试用例一起工作的代码覆盖率工具都将能够报告您对宏的测试程度。

请参阅 仓库 中的 /examples 目录中的工作示例。请注意,当前的 custom_assert 示例需要 nightly。

开发笔记

要运行测试,运行 cargo test -- --test-threads 1 - Tarpaulin 无法同时运行多个实例

依赖项

~1.5MB
~35K SLoC