7个版本
使用旧的Rust 2015
| 0.1.0 | 2018年10月15日 |
|---|---|
| 0.0.6 | 2018年10月14日 |
在#doctest中排名8
每月下载量111
在 2 crates中使用
17KB
504 行
doubter
在Markdown文件中测试Rust代码块。
概述
此crate通过将代码块嵌入Rust源码并构建为crate来执行Markdown文件中的代码块。这种方法的优势在于,依赖项解析由cargo完成。这意味着与更新Rust工具链相关的依赖项问题不会发生。
入门
doubter将目标Markdown文件嵌入Rust代码作为公共文档注释。因此,需要为测试代码块创建一个新的crate,而与发布的crate分开。这些crate通常在[workspace.members]中注册。
使用过程宏
将doubter的依赖项添加到Cargo.toml。如果代码块中需要一些外部crate,指定它们为[dev-dependencies]的成员。
[dependencies]
doubter = "0.1.0"
[dev-dependencies]
rand = "0.5"
然后,修改src/lib.rs以指定目标Markdown文件的路径。
#[macro_use]
extern crate doubter;
generate_doc_tests! {
include = "README.md",
include = "docs/**/*.md",
}
宏generate_doc_tests!(...)接受以逗号分隔的字段列表。目前支持的字段键如下
include- 字符串
指向要测试的Markdown文件(s)路径的glob模式。必须是来自cargo的manifest目录的相对路径。必要。mode- 字符串,可选
将Markdown文件转换为doctest的模式。支持以下值"raw"(默认): 将Markdown文件嵌入Rust源码原样。"extract":提取代码块并作为doctest按块输出。
use_external_doc- 字符串或布尔值,可选
指定是否使用#[doc(include = "...")]来嵌入 Markdown 文件。当此选项启用时,mode的值将被强制设置为"raw"。
目前,函数式过程宏的实现使用
proc-macro-hack。通过自定义派生定义过程宏有一些限制,且use样式的导入不按预期工作。您可以通过禁用功能标志hack将实现切换到 Macros 1.2(默认启用此功能标志)。[dependencies.doubter] version = "0.1.0" default-features = false
示例
请参阅 crates/ 中的测试存档 内部。
替代方案
许可协议
doubter 在 MIT 许可协议 下发布。
依赖项
~2.5MB
~63K SLoC