Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

运行测试

你可以运行几类不同的测试(这些测试在 CI 中强制执行):

所有测试

cargo xtask test-all

此命令运行下面列出的所有测试。

我们建议在提交 PR 之前最后一步运行此命令。它会运行 CI 通过所需的大部分测试。关于其具体功能,请参见 tools/xtask/src/main.rs

内联测试

cargo xtask mdbook-test

此命令运行 Markdown 中内联的所有测试。内部使用 rustdoc 来运行测试,并支持所有相同的功能。任何带有 rust 语言的代码块都将被编译,除非被忽略。更多信息请参见示例

此前的指南建议使用 mdbook test,但只有默认 toolchain 为 nightly 时才能可靠运行。

链接检查

cargo xtask linkcheck

此命令验证链接没有失效。它下载并使用托管在 rust-lang/rust 仓库中的 linkchecker 脚本。

这需要通过 rustup 安装的最新 nightly 以及 rust-docs 组件。

编译脚本后,它使用 mdbook 构建参考手册,然后扫描所有本地链接以验证它们是否有效,特别是跨不同书籍之间的链接。这不会检查任何网络链接。

风格检查

cargo xtask style-check

这使用 style-check 工具来强制执行各种格式化规则。

代码格式化

CI 使用 cargo fmt --check 来验证所有工具(如 mdbook-spec)的 Rust 源代码是否已正确格式化。所有代码必须使用 rustfmt 格式化。

mdbook-spec 测试

cargo test --manifest-path mdbook-spec/Cargo.toml

CI 对 mdbook-spec 运行 cargo test 来执行该工具本身的测试。