0
我对Cargo如何找到测试运行感到困惑。货物没有在顶层文件中运行测试
我创建了一个Cargo项目,并为我添加了一个main.rs
。如果我在其中添加#[test]
函数,则会找到它们并与cargo test
一起运行。如果我将foo.rs
作为兄弟文件添加到main.rs
并在其中添加测试,则不会找到并运行它们。
我错过了多少微妙之处?我不知何故必须教货物有关新文件?
我对Cargo如何找到测试运行感到困惑。货物没有在顶层文件中运行测试
我创建了一个Cargo项目,并为我添加了一个main.rs
。如果我在其中添加#[test]
函数,则会找到它们并与cargo test
一起运行。如果我将foo.rs
作为兄弟文件添加到main.rs
并在其中添加测试,则不会找到并运行它们。
我错过了多少微妙之处?我不知何故必须教货物有关新文件?
Cargo将不会编译源目录中的任何文件。为了货物找到一个文件,它必须从根目录引用为一个模块。
例如,在你的main.rs
:
mod foo;
就是这样。
你会习惯性地把单元测试放在他们自己的文件中,并且有prod模式吗?或者只是把测试放在被测试的文件中? – tenpn
将测试放在与测试相同的文件中更为常见。 –