Rust 程序设计语言 简体中文版 1.85.0,Rust 的私 有性规则确实允许你测试私有函数。考虑示例 11-12 中带有私有函数 internal_adder 的代码。 文件名:src/lib.rs pub fn add_two(a: usize) -> usize { internal_adder(a, 2) } fn internal_adder(left: usize, right: usize) -> usize { use super::*; #[test] fn internal() { let result = internal_adder(2, 2); assert_eq!(result, 4); } } 示例 11-12:测试私有函数 注意 internal_adder 函数并没有标记为 pub。测试也不过是 Rust 代码,同时 tests 另一个模块。正如“路径用于引用模块树中的项” 部分所说,子模块的项可以使用其上级模块的 项。在测试中,我们通过 use super::* 将 tests 模块的父模块的所有项引入了作用域,接着 测试调用了 internal_adder。如果你并不认为应该测试私有函数,Rust 也不会强迫你这么做。 集成测试 在 Rust 中,集成测试对于你需要测试的库来说完全是外部的。同其他使用库的代码一样使用 库文件,也就是说它们只能调用一部分库中的公有0 码力 | 562 页 | 3.23 MB | 25 天前3
共 1 条
- 1













