Как я могу использовать Bogus с частными сеттерами?
Я оцениваю фиктивные сущности в нашей доменной модели, но наша реализация использует частные сеттеры в нашей доменной модели. Есть ли способ установить эти свойства с помощью Faker? Возможно, вариант, чтобы сказать это использовать отражение?
2 ответа
Я предполагаю, что вы имеете в виду https://github.com/bchavez/Bogus/
Если я понимаю, что вы спрашиваете, это "просто работает".
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));
}
}
}
Так же есть возможность подделать вот такое приватное поле
var faker = new Faker<ClassWithPrivateSetter>()
.RuleFor("_privateFieldName", f => f.Person.FullName);