我正在编写一个 Rust 库,我想在我的文档中提供示例
- 编译为运行的一部分
cargo test
- 不要跑。
这可能吗?
我正在编写一个数据库客户端库,这些示例使用了一个假设的、不存在的数据库服务器。因此,示例在运行时总是失败,但重要的是示例在语法上是有效的。因此我的要求在上面。
如果没有办法做我想做的事,那么如何选择不cargo test
运行特定的文档测试?即,已经cargo run
编译并运行了一些文档测试但完全忽略了其他一些测试?
我正在编写一个 Rust 库,我想在我的文档中提供示例
cargo test
这可能吗?
我正在编写一个数据库客户端库,这些示例使用了一个假设的、不存在的数据库服务器。因此,示例在运行时总是失败,但重要的是示例在语法上是有效的。因此我的要求在上面。
如果没有办法做我想做的事,那么如何选择不cargo test
运行特定的文档测试?即,已经cargo run
编译并运行了一些文档测试但完全忽略了其他一些测试?
这在The rustdoc book中有所记载,特别是关于属性的章节。
您的打开代码块分隔符应如下所示:
/// ```no_run
从书中:
/// ```no_run /// loop { /// println!("Hello, world"); /// } /// ```
该
no_run
属性将编译您的代码,但不会运行它。这对于诸如“这是检索网页的方法”之类的示例很重要,您希望确保编译,但可能在没有网络访问权限的测试环境中运行。
省略 build 完全使用ignore
而不是no_run
.
把它放在 Cargo.toml 中:
[lib]
doctest = false
在这里找到它:https ://doc.rust-lang.org/cargo/commands/cargo-test.html