[英]What is the recommended directory structure for a Rust project?
应该在哪里放置源,示例,文档,单元测试,集成测试,许可证,基准测试等 ?
Cargo是Rust的官方软件包管理器, 定义了一些关于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
目录。这些在清单描述中有更详细的解释。
通过遵循此标准布局,您将能够使用Cargo的命令轻松构建,运行和测试项目。 运行cargo new
以设置新的可执行项目或cargo new --lib
以设置新的库项目。
此外,库的文档通常写在文档注释中(注释在任何项之前以///
开头,或者//!
以记录父项)。 此外,许可证通常放在根目录下。
如上所述,单元测试与它们正在测试的功能编写在同一模块中。 通常,它们被放入内部模块中。 它看起来像这样(这是Cargo为一个带有cargo new --lib
的新库生成的):
#[cfg(test)]
mod tests {
#[test]
fn it_works() {
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.