NBuilder无参构造函数错误

3
我们正在使用NBuilder来为我们的测试生成测试数据。我们有一些带有私有setter的模型。因此,只能通过构造函数来设置这些属性。问题是,我们从NBuilder得到以下错误提示:

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

我理解这个错误。但我真的需要在我的类中创建一个默认构造函数吗?
下面是我的NBuilder代码:
Builder<CompanyAddressViewModel>.CreateNew().Build()

1
相同的问题。例如,Newtonsoft.Json 能够实例化没有默认构造函数的类。在 NBuilder 中也能这样做会非常有帮助。 - neleus
3个回答

3

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

Builder<CompanyAddressViewModel>.CreateNew().WithFactory(() => new parameter()).Build()


(Note: 已翻译的内容中保留了HTML标签)

1

早期版本使用WithConstructor()方法,但现在已经过时了,所以您应该使用WithFactory()方法:

Builder<CompanyAddressViewModel>
         .CreateNew()
         .WithFactory(() => new CompanyAddressViewModel("your", "parameter"))
         .Build()

0
你需要使用 With 方法。
Builder<CompanyAddressViewModel>
               .CreateNew()
               .With(() => new CompanyAddressViewModel(...))
               .Build()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接