test 命令

写书时,有时需要一些自动化测试。例如,The Rust Programming Book使用了许多可能过时的代码示例。因此,能够自动测试这些代码示例对他们来说非常重要。

mdBook 支持test将运行,书中所有可用测试的命令。目前,只支持 rustdoc 测试,但未来可能会扩展。

在一个代码块,禁用测试

rustdoc 不会测试,包含ignore属性的代码块:

fn main() {}

rustdoc 也不会测试,指定了除 Rust 之外的语言的代码块:

**Foo**: _bar_

rustdoc不会测试,没有指定语言的代码块:

This is going to cause an error!

指定目录

test命令可以将目录作为参数,用作本书的根目录,而不是当前工作目录.

mdbook test path/to/book

–library-path

--library-path(-L)选项允许您,当rustdoc构建和测试示例时,将目录添加到搜索路径。可以指定多个目录(-L foo -L bar),或用逗号分隔的列表(-L foo,bar)。路径应该指向 Cargo build cache deps 目录,在其中包含了项目的输出。例如:你的目录叫 my-book, 下面的测试命令就可以带上 crate 的 依赖:

mdbook test my-book -L target/debug/deps/

See the rustdoc command-line documentation for more information.

–dest-dir

--dest-dir(-d)选项允许您更改书籍的输出目录。为相对路径,(相对于书籍的根目录)。如果未指定,则默认为book.toml配置的build.build-dir字段, 或者./book目录.