You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在启用debug_asserts的情况下执行cargo test --release?

如何在启用debug_asserts的同时用发布配置运行测试?

当然可以,有几种不同的实现方式,根据你的需求选择即可:

  • 修改Cargo.toml配置(稳定方案)
    如果想让所有release模式的构建(包括测试)都启用debug_asserts,直接在[profile.release]里添加配置:

    [profile.release]
    debug_assertions = true
    

    之后运行cargo test --release就会同时启用发布级优化和debug_asserts。

    要是只想让测试用发布配置但保留debug_asserts,不想影响正常的release构建,可以单独配置test profile:

    [profile.test]
    inherits = "release"
    debug_assertions = true
    

    配置完直接跑cargo test就行,不用加--release,此时测试会用release的优化参数,同时触发debug_asserts。

  • 临时命令行参数(nightly专属)
    如果你不想改配置文件,且用的是Rust nightly版本,可以通过不稳定特性临时开启:

    cargo test --release -- -Z debug-assertions
    

另外提一句:如果只是部分测试依赖debug_asserts,也可以给这些测试加上#[cfg(debug_assertions)]属性,这样在release测试时会自动跳过它们。但如果必须要在发布级环境下执行这些测试,上面的两种方法更直接。

内容的提问来源于stack exchange,提问作者A. K.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 21:07:01