在 Rust 專案中,有一個帶有實用程式的模塊來支持測驗,打包在一個模塊中test_utils:
#[cfg(test)]
pub mod test_utils;
問題:有沒有辦法cargo doc生成test_utils模塊的檔案和里面的東西?
uj5u.com熱心網友回復:
可能有多種方法可以為測驗生成檔案,但我認為更簡單的方法是生成檔案cargo rustdoc并傳遞--cfg test標志:
cargo rustdoc -- --cfg test
uj5u.com熱心網友回復:
我剛剛發現這也有效:
#[cfg(any(test, doc))]
pub mod test_utils;
雖然檔案是用常規生成的
cargo doc
uj5u.com熱心網友回復:
我認為#[cfg(any(test, doc))]可能還不夠,它會生成沒有功能資訊的檔案。
/// The module should work
#[cfg(any(test, doc))]
pub mod test_utils {
/// The function about test1
#[test]
fn test1() {
assert!(true);
}
}
![如何為#[cfg(test)] 后面的模塊生成檔案?](https://img.uj5u.com/2022/05/28/197a1883ad8e4ae78467b288091a0206.png)
為了使用實用程式來支持測驗,也許[cfg_attr(not(doc), test)]是必要的。
/// The module should work
#[cfg(any(test, doc))]
pub mod test_utils {
/// The function about test1
#[cfg_attr(not(doc), test)]
fn test1() {
assert!(true);
}
}
添加[cfg_attr(not(doc), test)]上述測驗用例后:
![如何為#[cfg(test)] 后面的模塊生成檔案?](https://img.uj5u.com/2022/05/28/5d34b6553bae41839e4043cdb4635f23.png)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/481712.html
