在 main.rs 中没有 mod 测试,单元测试无法编译或被发现。这是一个要求还是我缺少一些配置?

问题描述 投票:0回答:1

在我的主要 RS 中,我必须声明 mod 测试;在 main.rs 文件中运行我的单元测试。来自其他语言,我的启动文件从来不需要包含有关单元测试的任何信息。这是 Rust 的标准,还是我缺少一些配置?

我的文件结构是这样的:

src/
-- config/
-- models/
-- services/
-- tests/    <-- this is where my mod.rs for my tests are
main.rs

运行货物测试时,主要包括:

#[cfg(test)]
mod tests;

我的单元测试被发现并运行。

如果我删除 main 中的 mod 测试,运行相同的 Cargo test 命令不会运行我的单元测试。

unit-testing rust rust-cargo
1个回答
0
投票

在你的情况下,cargo只关心

src/main.rs
,所以是的,你需要告诉rust有一个mod调用测试。

Cargo 已经有一些特殊的文件/文件夹,有一个

tests
文件夹,但它需要位于项目路径的根目录中。

集成测试位于测试目录中。 封装布局

了解更多:

© www.soinside.com 2019 - 2024. All rights reserved.