15
應該在哪裏放置源代碼,示例,文檔,單元測試,集成測試,許可證,基準測試等?Rust項目推薦的目錄結構是什麼?
應該在哪裏放置源代碼,示例,文檔,單元測試,集成測試,許可證,基準測試等?Rust項目推薦的目錄結構是什麼?
貨物,生鏽,defines some conventions regarding the layout of a Rust crate官方包管理器:
. ├── Cargo.lock ├── Cargo.toml ├── benches │ └── large-input.rs ├── examples │ └── simple.rs ├── src │ ├── bin │ │ └── another_executable.rs │ ├── lib.rs │ └── main.rs └── tests └── some-integration-tests.rs
Cargo.toml
和Cargo.lock
存儲在您的項目的根。- 源代碼出現在
src
目錄中。- 默認庫文件是
src/lib.rs
。- 默認的可執行文件是
src/main.rs
。- 其他可執行文件可以放在
src/bin/*.rs
。- 集成測試進入
tests
目錄(單元測試放在他們測試的每個文件中)。- 示例可執行文件進入
examples
目錄。- 基準進入
benches
目錄。這些在manifest description中有更詳細的解釋。
通過遵循此標準佈局,您將能夠使用Cargo的命令輕鬆地構建,運行和測試您的項目。運行cargo new
以設置新的庫項目或cargo new --bin
以設置新的可執行項目。
此外,庫的文檔通常寫入文檔註釋(在任何項目之前以///
開始的註釋或以文檔形式記錄父項目的//!
)。此外,許可證通常放在根部。
如上所述,單元測試與它們正在測試的功能在同一模塊中編寫。通常,他們被放在一個內部模塊中。它看起來像這樣(這是什麼貨物生成一個新的圖書館與cargo new
):
#[cfg(test)]
mod tests {
#[test]
fn it_works() {
}
}
謝謝!不知何故,我想會有更多,但你已經涵蓋了我所問的一切。 – jolson