有没有一种方法可以使用Faker预填充对象的虚假数据,而无需显式指定属性规则。我发现按照每个属性规则来填充对象需要太多时间。如果有一种基于属性数据类型自动为我执行此操作的方法会怎么样。使用NBuilder很容易实现这一点,但不支持.Net Core。
下面是我用来填充CategoryViewModel的代码:
上面的代码创建了一个对象,但是没有伪造数据。
下面是我用来填充CategoryViewModel的代码:
var category = PopulateCategoryViewModelFaker().Generate();
private Faker<CategoryViewModel> PopulateCategoryViewModelFaker()
{
var faker = new Faker<CategoryViewModel>();
//faker.StrictMode(true);
faker.RuleFor(x => x.DateCreated, f => DateTime.Now);
faker.RuleFor(x => x.Description, f => f.Lorem.Sentence(2));
faker.RuleFor(x => x.ParentCategory, f => null);
faker.RuleFor(x => x.Status, f => null);
faker.RuleFor(x => x.Title, f => f.Lorem.Sentence(2));
faker.RuleFor(x => x.CategoryId, f => Guid.NewGuid());
faker.RuleFor(x => x.CreatedByUser, f => null);
faker.RuleFor(x => x.CrumbPath, f => null);
faker.RuleFor(x => x.StatusId, _ctx.CategoryStatuses.First().StatusId);
faker.RuleFor(x => x.CreatedByUserId, x => Guid.NewGuid());
return faker;
}
我想要类似这样的东西:
var cat = new CategoryViewModel();
cat = new Faker<CategoryViewModel>().Generate();
上面的代码创建了一个对象,但是没有伪造数据。