我对 Cargo 如何找到要运行的测试感到很困惑。
我创建了一个 Cargo 项目,它为我添加了一个 main.rs
。如果我在其中添加 #[test]
函数,它们就会被发现并通过 cargo test
运行。如果我添加一个 foo.rs
文件作为 main.rs
的同级文件并在其中添加测试,它们将找不到并运行。
我错过了什么微妙之处?我是否必须以某种方式向 Cargo 传授新文件?
最佳答案
Cargo 不仅会编译恰好在您的源目录中的任何文件。为了让 Cargo 找到一个文件,它必须作为模块在 main.rs
/lib.rs
中或从某个子模块中引用。
例如,在您的 main.rs
中:
mod foo;
就是这样。
关于unit-testing - Cargo 未在顶级文件中运行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44873527/