test 命令
写书时,有时需要自动化一些测试。 例如The Rust Programming Book 使用了许多可能会过时的代码示例。 因此,能够自动测试这些代码示例对他们来说非常重要。
mdBook支持一个test
命令,该命令将运行书中所有可用的测试。
目前,仅支持rustdoc
测试,但将来可能会扩展。
在一个代码块上禁用测试
rustdoc不测试包含ignore
属性的代码块:
```rust,ignore
fn main() {}
```
指定非Rust
语言的代码块rustdoc
也不测试:
```markdown
**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构建缓存 deps
目录。
例如,如果您的Rust项目的书籍位于名为my-book
的目录中,则以下命令将在运行test
时包含 crate 的依赖项:
mdbook test my-book -L target/debug/deps/
有关更多信息,请参阅rustdoc
命令行文档。
--dest-dir
--dest-dir
(-d
) 选项允许您更改书籍的输出目录。
相对路径是相对于书的根目录解释的。
如果未指定,它将默认为book.toml
中build.build-dir
键的值,或为./book
。