test 命令

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

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

在一个代码块,禁用测试

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

  1. ```rust,ignore
  2. fn main() {}
  3. ```

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

  1. ```markdown
  2. **Foo**: _bar_
  3. ```

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

  1. ```
  2. This is going to cause an error!
  3. ```

指定目录

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

  1. mdbook test path/to/book

--library-path

--library-path(-L)选项允许您,当rustdoc构建和测试示例时,将目录添加到搜索路径。可以指定多个目录(-L foo -L bar),或用逗号分隔的列表(-L foo,bar).

--dest-dir

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