I'm evaluating Bogus faking entities in our domain model, but our implementation uses private setters in our domain model. Is there a way to set these properties with Faker? Perhaps an option to tell it to use reflection?
Asked
Active
Viewed 1,197 times
2 Answers
1
I assume you're referring to https://github.com/bchavez/Bogus/
If I understand what you're asking, it "just works."
using Xunit;
using Bogus;
namespace SO54660453.Tests
{
class ClassWithPrivateSetter
{
public string Name { get; private set; }
}
public class Tests
{
[Fact]
public void TestClassWithPrivateSetter()
{
var faker = new Faker<ClassWithPrivateSetter>()
.RuleFor(o => o.Name, f => f.Person.FullName);
var testPoco = faker.Generate();
Assert.False(string.IsNullOrEmpty(testPoco.Name));
}
}
}

xander
- 1,689
- 10
- 18
1
Also, there is an opportunity to fake private field like this
var faker = new Faker<ClassWithPrivateSetter>()
.RuleFor("_privateFieldName", f => f.Person.FullName);

My Name
- 11
- 1
- 1