如何选择不运行doc测试?

时间:2015-09-06 23:42:07

标签: rust rust-cargo

我正在写一个Rust库,我想在我的文档中提供

的例子
  1. 编译作为运行cargo test
  2. 的一部分
  3. 执行 运行。
  4. 这可能吗?

    我正在编写数据库客户端库,这些示例使用了一个假设的,不存在的数据库服务器。因此,这些示例在运行时总是会失败,但这些示例在语法上是有效的非常重要。因此我的要求就在上面。

    如果没有办法做我想做的事,那么如何选择不让cargo test运行特定的文档测试?即,cargo run编译并运行一些文档测试但完全忽略其他一些文档?

2 个答案:

答案 0 :(得分:19)

The Rust Programming Language中记录了这一点,特别是chapter about documentation

您的开场代码块分隔符应如下所示:

/// ```rust,no_run

从书中可以看出:

/// ```rust,no_run
/// loop {
///     println!("Hello, world");
/// }
/// ```
     

no_run属性将编译您的代码,但不会运行它。这是   对于“以下是如何检索网页”等示例非常重要   你想要确保编译,但可能会在测试中运行   没有网络访问权限的环境。

答案 1 :(得分:7)

将其放入 Cargo.toml:

[lib]
doctest = false

在这里找到它:https://doc.rust-lang.org/cargo/commands/cargo-test.html