2015-02-09 26 views
5

我正在研究跨多个包装箱的项目。顶级箱子(应用程序)需要另外两个箱子(库)作为依赖关系。在顶级箱子中运行cargo test会生成依赖关系并为顶级箱子运行测试,但它不会为其他两个箱子运行测试。有没有办法配置cargo test,以便它可以在三个箱子中运行测试?如何使货物运行测试本地依赖?

谢谢!

+0

我认为只是简单地改变目录并从里面运行货物没有足够的解决方案? – Shepmaster 2015-02-09 18:24:07

+0

@Shepmaster我想在CI上运行构建,所以我宁愿能够执行所有相对于顶级源代码目录的命令。 'cd'是我的备份计划。 – 2015-02-09 19:17:44

回答

6

您可以通过-p参数让Cargo运行依赖项的测试。

所以,如果你的箱子被称为sublib,您可以使用它的运行测试:

cargo test -p sublib 

cargo test --help

-p SPEC,--package SPEC包运行试验

如果给出了--package参数,那么SPEC是一个包号 规范,它指出应该测试哪个包。如果未给出 ,则测试当前包。有关 SPEC及其格式的更多信息,请参阅cargo help pkgid命令。

+0

非常好,谢谢! – 2015-02-09 19:24:19

+0

只是想添加,这可以使用多次。例如,如果你想测试当前的箱子和捆绑的箱子,你可以做'货物测试-p bundled1 -p bundled2 -p main_crate' – andrew 2017-11-01 04:21:17

相关问题