我想在一個 rust 檔案中更好地組織我的單元測驗。
該檔案包含大量函式及其變體,我想組織“子模塊”進行測驗,但我不知道這在 Rust 中是否有意義。
我想做類似的事情
// fn etc, etc
#[cfg(test)]
mod tests{
use super::*;
mod test_a {
use super::*;
#[test]
fn a_panics(){ }
// etc
}
mod test_b {
use super::*;
#[test]
fn b_panics(){}
// etc
}
}
但我不確定我該怎么做。
每個模塊都應該注釋#[cfg(test)]
還是只注釋頂部tests
的?
我想它可以作業,因為在 vscode 中,codelens 顯示>Run Tests | 在測驗和每個子模塊上除錯鏡頭,但我仍然不確定模塊注釋或者這是否是 rust 的好習慣,因為我在網上找不到任何示例。
uj5u.com熱心網友回復:
#[cfg(test)]
如果我們不進行測驗,只需告訴編譯器不要編譯模塊(以及其中的所有內容)。這樣做只是為了節省編譯時間。
由于它也適用于內部的所有內容,因此無需將嵌套模塊標記為#[cfg(test)]
.
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/504750.html