如何组织Rust单元测试?

时间:2014-08-03 17:58:45

标签: unit-testing rust

我在mod中有很多方法。这些方法需要进行测试,但它们是私有的。我目前在同一mod内进行了单元测试,但我不确定这是正确的方法,因为我混合了两种不同的东西。

我应该将我的单元测试放在不同的文件中吗?如果是这样,我该如何测试私有方法?

1 个答案:

答案 0 :(得分:33)

建议将测试放在自己的模块中。此模块应该是要测试其代码的模块的子代(可以在相同或不同的文件中定义)。

#[cfg(test)]
mod tests {
    #[test]
    fn test_some_stuff() {
      // ... test code ...
    }
}

私有方法不是子模块专用的,但您仍需要使用use super::some_name;导入它们。

顺便说一下,这一切都在Rust Book的test organization部分(11.3)中进行了解释。