如何组织Rust单元测试?

rui*_*eco 34 unit-testing rust

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

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

A.B*_*.B. 35

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

#[cfg(test)]
mod tests {
    #[test]
    fn test_some_stuff() {
      // ... test code ...
    }
}
Run Code Online (Sandbox Code Playgroud)

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

顺便说一下,这一切都在Rust Book 的测试组织部分(11.3)中进行了解释.

  • 您能提供一个目录结构作为示例吗? (4认同)