Как я могу использовать 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);
Другие вопросы по тегам