C# NBuilder无参数构造函数错误

C# NBuilder无参数构造函数错误,c#,nbuilder,C#,Nbuilder,我们正在使用NBuilder为我们的测试生成测试数据。我们有一些型号有私人二传。因此,只有在整个构造函数中才能设置这些属性。问题是我们从NBuilder中得到以下错误: CompanyAddressViewModel没有默认的无参数构造函数 我理解这个错误。我真的需要在类中创建默认构造函数吗 以下是我的NBuilder代码: Builder<CompanyAddressViewModel>.CreateNew().Build() Builder.CreateNew().Build(

我们正在使用NBuilder为我们的测试生成测试数据。我们有一些型号有私人二传。因此,只有在整个构造函数中才能设置这些属性。问题是我们从NBuilder中得到以下错误:

CompanyAddressViewModel没有默认的无参数构造函数

我理解这个错误。我真的需要在类中创建默认构造函数吗

以下是我的NBuilder代码:

Builder<CompanyAddressViewModel>.CreateNew().Build()
Builder.CreateNew().Build())

您需要使用With方法

Builder<CompanyAddressViewModel>
               .CreateNew()
               .With(() => new CompanyAddressViewModel(...))
               .Build()
Builder
.CreateNew()
.With(()=>新公司地址视图模型(…)
.Build()

您可以使用WithConstructor()或WithFactory()方法,在Net Core 2.1中,WithConstructor()方法已被弃用


Builder.CreateNew()。WithFactory(()=>new parameter()).Build()
以前的版本使用
WithConstructor()
方法,但现在已经过时了,所以您应该使用
WithFactory()
方法:

Builder<CompanyAddressViewModel>
         .CreateNew()
         .WithFactory(() => new CompanyAddressViewModel("your", "parameter"))
         .Build()
Builder
.CreateNew()
.WithFactory(()=>新公司地址视图模型(“您的”、“参数”))
.Build()

同样的问题。例如,Newtonsoft.Json能够在没有默认构造函数的情况下实例化类。这个特性在NBuilder中也会非常有用。