Avatar ·

如何消除仅在测试中使用的函数的“function is never used”警告

大家好!我刚开始学习 Rust,遇到了一个烦人的问题。我有一个小工具,并为它写了一个辅助函数,这个函数只在测试中使用,比如准备测试数据。 以下是简化代码: ```rust fn prepare_test_data() -> Vec { vec![1, 2, 3, 4, 5] } #[cfg(test)] mod tests { use super::*; #[test] fn test_with_data() { let data = prepare_test_data(); assert_eq!(data.len(), 5); } } ``` 当我运行 `cargo build`(不是测试,而是普通构建)时,编译器会发出警告: ``` warning: function `prepare_test_data` is never used --> src/lib.rs:1:1 | 1 | fn prepare_test_data() -> Vec { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default ``` 我明白这个函数确实没有在主代码中使用,但它对测试是必要的!如何正确抑制这个警告?我尝试过添加