Cargo能否在发布模式下构建测试?

40

我正在使用 cargo build --release 命令以发布模式构建我的项目,并使用 cargo test 命令构建和运行测试。

不过,我希望在发布模式下也能构建我的测试。请问 cargo 能否实现这一点?


6
我不完全确定您是否需要的是这个,但是您可以使用 [profiles] (http://doc.crates.io/manifest.html#the-%5Bprofile.%2A%5D-sections) 来控制测试构建方式。 [profile.test] opt-level = 3 会为您的测试启用完整的优化。 - Viktor Dahl
@ViktorDahl 谢谢,但这并不是我想要的:我希望能够通过一些命令行参数传递给货物来更改测试构建的配置。 - Fraser
为了满足我的好奇心,你为什么想要这样做呢?我能想到的主要原因是运行性能测试,但这些已经内置了优化。 - Shepmaster
2
我习惯使用C++,发现有些问题只能在发布代码中复现。这些问题总是很难调试,但在发布(或最好是RelWithDebInfo)中运行测试通常是非常宝贵的。虽然我目前还没有这方面的需求,但我预计会有。 - Fraser
@rubenvb 我来接这个挑战 :) 我不同意 - 经常问题出在时间上(显然在发布时运行速度更快),或者是在 #ifdef NDEBUG 块中的代码包含错误。 - Fraser
1
优化过的代码可能会因为CPU漏洞、操作系统漏洞、库漏洞、LLVM漏洞、汇编器漏洞、链接器漏洞等问题而出现问题。发送给客户的代码应该是通过测试的相同代码。 - don bright
1个回答

43

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接