我目前正在学习 Rust(到目前为止 1 周),我想测试我的代码。
我有这个结构:
pub struct MyStruct {
pub field1: i64,
field2: i64
}
impl MyStruct {
pub fn new(a: i64) -> MyStruct {
MyStruct { field1: a, field2: 0 }
}
}
Run Code Online (Sandbox Code Playgroud)
现在在另一个模块的测试中,我想创建一个MyStruct具有特定的field2,但它是私有的。
有没有办法在不创建特殊构造函数的情况下做到这一点MyStruct?
您可以在同一模块中编写单元测试或为测试创建子模块。同一模块和所有嵌套模块中的代码可以完全访问私有字段。
// Your struct
mod test {
use super::MyStruct;
fn test() {
let _ = MyStruct{ field1: 1, field2: 2 };
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1467 次 |
| 最近记录: |