2015-09-06 79 views
15

我正在寫一個鏽病庫,我想提供的例子我的文檔在如何退出運行doc測試?

  1. 編譯爲運行cargo test
  2. 運行的一部分。

這可能嗎?

我正在編寫數據庫客戶端庫,並且這些示例使用了假想的,不存在的數據庫服務器。因此,這些示例在運行時總是失敗,但重要的是這些示例在語法上是有效的。因此我的要求如上。

如果沒有辦法做我想做的事,那麼如何選擇退出cargo test運行特定的文檔測試?即,有cargo run編譯並運行一些文檔測試,但完全忽略其他一些文檔測試?

回答

16

這記錄在The Rust Programming Language,特別是chapter about documentation

你開放代碼塊分隔符應該是這樣的:

/// ```rust,no_run 

從書:

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

no_run屬性將編譯代碼,但不運行它。這是 對於例如「以下是如何檢索網頁」 很重要,您希望確保這些網頁能夠編譯,但可能在沒有網絡訪問權限的測試 環境中運行。