unit-testing - 应该如何组织 Rust 单元测试?

标签 unit-testing rust

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

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

最佳答案

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

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

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

顺便说一句,这都在 test organization 中进行了解释。 Rust Book 的第 (11.3) 节。

关于unit-testing - 应该如何组织 Rust 单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25107526/

相关文章:

javascript - 如何检查在使用 ng-test 进行单元测试期间,fdescribe() 和 fit() 从未被调用?

node.js - 使用 Sinon 和 Mocha stub 实例方法

rust - 什么时候将特征标记为不安全,而不是将特征中的所有函数标记为不安全?

rust - 如何在 Rust 中实现静态缓存?

unit-testing - RAD:依赖注入(inject) - 好处?

unit-testing - 程序演进和失败的测试

rust - 为什么 `let ref a: Trait = Struct` 被禁止?

function - 如何编写一个只接受一个枚举变体作为输入的函数?

string - 如何在创建后替换 String 变量的内容?

c# - 在单元测试中模拟时,数据库/ Entity Framework 与内存列表之间的差异