我对Cargo如何运行测试感到困惑。
我创建了一个Cargo项目,它为我添加了一个main.rs
。如果我在那里添加#[test]
函数,它们就会被发现并与cargo test
一起运行。如果我将foo.rs
文件作为兄弟添加到main.rs
并在那里添加测试,则找不到并运行它们。
我错过了什么微妙之处?我是否必须以某种方式向Cargo讲授新文件?
Cargo不会只编译恰好位于源目录中的任何文件。为了让Cargo找到一个文件,它必须在main.rs
/ lib.rs
或某个子模块中作为模块引用。
例如,在你的main.rs
中:
mod foo;
而已。