我如何测试Rust 的私有方法?我没有找到任何相关信息.文档中也没有信息.

推荐答案

当使用#[test]时,私有或公共方法没有什么特别之处,你只是在编写完全正常的函数,可以访问任何它们可以访问的东西.

fn private_function() {
}

#[test]
fn test_private_function() {
    private_function()
}

外部测试,例如tests/*.rsexamples/*.rs(如果您使用的是Cargo),或者doc测试,无法访问私有成员;这些测试不应该是为了处理API的实现而设计的,也不应该是为了处理API的细节而设计的.

Rust相关问答推荐

为什么单元类型(空元组)实现了`Extend`trait?

如何访问Rust存储值的内存地址

在函数内定义impl和在函数外定义impl的区别

下载压缩文件

使用模块中的所有模块,但不包括特定模块

为什么允许我们将可变引用转换为不可变引用?

如何修复数组中NewType导致的运行时开销

try 创建随机数以常量

在复制类型中使用std::ptr::WRITE_VILAR进行内部可变性的安全性(即没有UnSafeCell)

根据填充系数以相对大小在给定空间中布局项目

Rust将String上的迭代器转换为&;[&;str]

如何使用reqwest进行异步请求?

将多维数组转换为切片

Rust并发读写引起的死锁问题

如何从 x86_64 Mac 构建 M1 Mac?

如何将参数传递给Rust 的线程?

发生移动是因为 `data` 的类型为 `Vec`,它没有实现 `Copy` 特性

C++ 中的 CRTP 是一种表达其他语言中特征和/或 ADT 的方法吗?

A 有一个函数,它在 Option<> 类型中时无法编译,但在 Option<> 类型之外会自行编译.为什么?

如何在 Rust 的泛型函​​数中同时使用非拥有迭代器和消费迭代器?