我在mod
中有很多方法。这些方法需要进行测试,但它们是私有的。我目前在同一mod
内进行了单元测试,但我不确定这是正确的方法,因为我混合了两种不同的东西。
我应该将我的单元测试放在不同的文件中吗?如果是这样,我该如何测试私有方法?
答案 0 :(得分:33)
建议将测试放在自己的模块中。此模块应该是要测试其代码的模块的子代(可以在相同或不同的文件中定义)。
#[cfg(test)]
mod tests {
#[test]
fn test_some_stuff() {
// ... test code ...
}
}
私有方法不是子模块专用的,但您仍需要使用use super::some_name;
导入它们。
顺便说一下,这一切都在Rust Book的test organization部分(11.3)中进行了解释。