gpt4 book ai didi

unit-testing - 我应该在 Rust 的什么地方放置测试实用程序函数?

转载 作者:行者123 更新时间:2023-11-29 07:45:37 24 4
gpt4 key购买 nike

我有以下代码定义了可以放置生成的文件的路径:

fn gen_test_dir() -> tempdir::TempDir {                                        
tempdir::TempDir::new_in(Path::new("/tmp"), "filesyncer-tests").unwrap()
}

此函数在 tests/lib.rs 中定义,用于该文件中的测试,我也想在位于 src/lib.rs 的单元测试中使用它

这是否可以在不将实用程序函数编译为非测试二进制文件且不复制代码的情况下实现?

最佳答案

您可以从您的 #[cfg(test)] 模块导入其他 #[cfg(test)] 模块,例如,在 main.rs 或在其他模块中,您可以执行以下操作:

#[cfg(test)]
pub mod test_util {
pub fn return_two() -> usize { 2 }
}

然后从您项目中的任何其他地方:

#[cfg(test)]
mod test {
use crate::test_util::return_two;

#[test]
fn test_return_two() {
assert_eq!(return_two(), 2);
}
}

关于unit-testing - 我应该在 Rust 的什么地方放置测试实用程序函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37993886/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com