gpt4 book ai didi

unit-testing - 是否可以从测试中访问私有(private)结构字段?

转载 作者:行者123 更新时间:2023-11-29 08:12:26 24 4
gpt4 key购买 nike

我目前正在学习 Rust(到目前为止 1 周),我想测试我的代码。

我有这个结构:

pub struct MyStruct {
pub field1: i64,
field2: i64
}

impl MyStruct {
pub fn new(a: i64) -> MyStruct {
MyStruct { field1: a, field2: 0 }
}
}

现在在另一个模块的测试中,我想创建一个具有特定 field2MyStruct,但它是私有(private)的。

有没有办法不用为 MyStruct 创建一个特殊的构造函数?

最佳答案

您可以在同一模块中编写单元测试或创建用于测试的子模块。同一模块和所有嵌套模块中的代码可以完全访问私有(private)字段。

// Your struct

mod test {
use super::MyStruct;
fn test() {
let _ = MyStruct{ field1: 1, field2: 2 };
}
}

关于unit-testing - 是否可以从测试中访问私有(private)结构字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44095998/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com