如何将Bogus与私人二传手一起使用?

时间:2019-02-12 23:48:32

标签: c# unit-testing bogus

我正在我们的域模型中评估假冒伪造实体,但是我们的实现在我们的域模型中使用了私有的二传手。有没有办法用Faker设置这些属性?也许可以告诉它使用反射的选项?

2 个答案:

答案 0 :(得分:0)

我假设您是指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));
      }
   }
}

答案 1 :(得分:0)

如果属性可以通过构造函数初始化:

//the string - random memory after the array
| f | o | o | g | a | r | b | a | g | e | U | B | \0 |