我有这个 NBuilder 代码:
var fakeReviews = Builder<Review>
.CreateListOfSize(100)
.Build()
.ToList()
.AsReadOnly();
非常简单。
但它在评论中的这个属性上出错了:
public bool WasWrittenByAdmin
{
get
{
if (User == null) throw new InvalidOperationException("Must load User.");
return User.UserSettings != null && User.UserSettings.IsAdmin;
}
}
基本上,我认为 NBuilder 正在尝试评估所有属性,包括 getter,但该 User 属性不存在。
即使我这样做:
var fakeReviews = Builder<Review>
.CreateListOfSize(100)
.All().With(x => x.User = Builder<User>.CreateNew().Build())
.Build()
.ToList()
.AsReadOnly();
它仍然错误。
有什么方法可以告诉 NBuilder 拦截该 getter,或者在它尝试评估它之前如何设置 User 属性?(从而防止错误)。