は、私は(今のところ1週間)の時点で錆を学んだし、私は自分のコードをテストしたいです。テストからプライベートstructフィールドにアクセスできますか?
私はこの構造体があります。他のモジュール内のテストで今
pub struct MyStruct {
pub field1: i64,
field2: i64
}
impl MyStruct {
pub fn new(a: i64) -> MyStruct {
MyStruct { field1: a, field2: 0 }
}
}
を、私は特定のfield2
でMyStruct
を作成したいが、それはプライベートです。
MyStruct
のための特別なコンストラクタを作成せずにそれを行うための方法はありますか?
試験は、他のコードと同じ規則に従います。彼らが同じモジュールまたは子孫にいない場合、彼らは私的なものを見ることができません。 –
ユニットテストの場合は、同じモジュール内にあるべきではありませんか?それ以外の場合は、実際にコンストラクタが必要なようです。つまり、かなり新しい 'pub(restricted)'機能が役に立つかもしれません。 https://github.com/rust-lang/rfcs/blob/master/text/1422-pub-restricted.md – the8472
@ the8472:私はこの1つを使用するモジュールをテストしています。私は錆で能力をあざけるを認識してないんだけど、それは私がとにかく毎晩実行し、この機能をご確認ください:) –