我们正在使用NBuilder为我们的测试生成测试数据。我们有一些带有私人二传手的模型。因此,只能在整个构造函数中设置这些属性。问题是我们从NBuilder收到以下错误:
CompanyAddressViewModel 没有默认的无参数构造函数
我理解错误。我真的需要在我的类中创建一个默认构造函数吗?
这是我的 NBuilder 代码:
Builder<CompanyAddressViewModel>.CreateNew().Build()
您可以使用 WithConstructor() 或 WithFactory() 方法,在 Net Core 2.1 中不推荐使用 WithConstructor() 方法。
Builder<CompanyAddressViewModel>.CreateNew(). WithFactory (() => new parameter()).Build()
您需要使用 With 方法。
Builder<CompanyAddressViewModel>
.CreateNew()
.With(() => new CompanyAddressViewModel(...))
.Build()
以前的版本使用WithConstructor()
方法,但现在已经过时了,所以你应该使用WithFactory()
方法:
Builder<CompanyAddressViewModel>
.CreateNew()
.WithFactory(() => new CompanyAddressViewModel("your", "parameter"))
.Build()