Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

NBuilder parameterless constructor error

Tags:

c#

nbuilder

We are using NBuilder for generating test data for our tests. We have a few models with private setters. So setting thos properties is only possible throughout the constructor. The problem is that we get the following error from NBuilder:

CompanyAddressViewModel does not have a default parameterless constructor

I understand the error. Do I really need to create a default constructor in my class?

Here is my NBuilder code:

Builder<CompanyAddressViewModel>.CreateNew().Build()
like image 668
DAG Avatar asked Sep 03 '26 08:09

DAG


2 Answers

You can use WithConstructor() or WithFactory() method, in Net Core 2.1 WithConstructor() method is deprecated.

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

like image 118
Alejandro Pena Sánchez Avatar answered Sep 04 '26 22:09

Alejandro Pena Sánchez


Former versions uses WithConstructor() method, but it's obsolete in these days, so you should use WithFactory() method:

Builder<CompanyAddressViewModel>
         .CreateNew()
         .WithFactory(() => new CompanyAddressViewModel("your", "parameter"))
         .Build()
like image 27
1_bug Avatar answered Sep 04 '26 22:09

1_bug