7 个版本
0.2.1 | 2023 年 8 月 1 日 |
---|---|
0.2.0 | 2023 年 7 月 31 日 |
0.1.2 | 2023 年 7 月 30 日 |
0.0.2 | 2023 年 1 月 31 日 |
#7 in #example
在 3 个包中使用
8KB
Include Doc
将示例包含在您的 Rust 文档中。
功能
- 在常规 Rust 文件中编写和维护示例,具有完整的编辑器支持。
- 自动隐藏导入。
- 将多个示例放入一个文件中,并选择要包含的文件部分。这有助于避免导入和设置代码的重复样板。
查看包文档中的示例。
lib.rs
:
将 Rust 源文件作为 doctests 包含。
示例
使用 source_file!
我们将示例写入文件 examples/my_example.rs
,并使用 source_file!
将示例添加到文档中。文件 examples/my_example.rs
的内容是
使用 #[doc = source_file!("examples/my_example.rs")]
将隐藏导入并包含主函数的主体,得到
使用 function_body!
function_body!
与 source_file!
类似,但允许我们指定要作为 doctests 使用的函数主体。这减少了导入和支持代码的样板,因为我们可以在一个文件中放置多个示例。我们还可以指定要包含的支持代码的部分。
用法
include_doc::function_body!(
"example.rs",
example_fn,
[fn_dependency, StructDependency, etc]
);
在 tests/doc.rs
中,我们放置了 2 个示例,my_first_example
和 my_second_example
。有两个不同的设置函数,但它们都使用 MyStruct
。这是 tests/doc.rs
的内容
我们只想包含 my_first_example
的示例代码和依赖项,所以我们写入 #[doc = function_body!("tests/doc.rs", my_first_example, [MyStruct, setup_first_example])]
,得到
对于 my_second_example
,我们使用 #[doc = function_body!("tests/doc.rs", my_second_example, [MyStruct, setup_second_example])]
,结果是
依赖项
~4–16MB
~156K SLoC