mdBook/book-example/src/cli/test.md

53 lines
1.6 KiB
Markdown
Raw Normal View History

2015-12-30 06:58:56 +08:00
# The test command
2018-08-03 05:52:54 +08:00
When writing a book, you sometimes need to automate some tests. For example,
[The Rust Programming Book](https://doc.rust-lang.org/stable/book/) uses a lot
of code examples that could get outdated. Therefore it is very important for
them to be able to automatically test these code examples.
2015-12-30 06:58:56 +08:00
mdBook supports a `test` command that will run all available tests in a book. At
the moment, only rustdoc tests are supported, but this may be expanded upon in
the future.
2015-12-30 22:04:24 +08:00
2018-08-03 05:52:54 +08:00
#### Disable tests on a code block
2015-12-30 22:04:24 +08:00
2018-08-03 05:52:54 +08:00
rustdoc doesn't test code blocks which contain the `ignore` attribute:
```rust,ignore
fn main() {}
```
rustdoc also doesn't test code blocks which specify a language other than Rust:
```markdown
**Foo**: _bar_
```
rustdoc *does* test code blocks which have no language specified:
```
This is going to cause an error!
```
#### Specify a directory
The `test` command can take a directory as an argument to use as the book's root
instead of the current working directory.
2015-12-30 22:04:24 +08:00
2015-12-30 06:58:56 +08:00
```bash
2018-08-03 05:52:54 +08:00
mdbook test path/to/book
2015-12-30 06:58:56 +08:00
```
2018-08-03 05:52:54 +08:00
#### --library-path
The `--library-path` (`-L`) option allows you to add directories to the library
search path used by `rustdoc` when it builds and tests the examples. Multiple
directories can be specified with multiple options (`-L foo -L bar`) or with a
comma-delimited list (`-L foo,bar`).
#### --dest-dir
The `--dest-dir` (`-d`) option allows you to change the output directory for the
book. If not specified it will default to the value of the `build.build-dir` key
in `book.toml`, or to `./book` relative to the book's root directory.