Giới thiệu về Bogus
Bogus là một thư viện dùng để tạo dữ liệu giả ngẫu nhiên một cách nhanh chóng. Bạn có thể sử dụng Bogus để tạo dữ liệu mẫu cho các ứng dụng, testing hoặc đăng ký các tài khoản.
Homepage: bchavez / Bogus Public
Tạo data với Bogus
Để sử dụng Bogus, bạn cần cài đặt thư viện từ Nuget:
PM> Install-Package Bogus
Giả sử bạn muốn tạo danh sách user
Đầu tiên bạn định nghĩa Model
public class User
{
public string CustomerID { get; set; }
public string Location { get; set; }
public DateTime ModifiedDate { get; set; }
public string Title { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string MiddleName { get; set; }
public bool NameStyle { get; set; }
public string Suffix { get; set; }
public string CompanyName { get; set; }
public string SalesPerson { get; set; }
public string EmailAddress { get; set; }
public string Phone { get; set; }
public string UrlImage { get; set; }
}
Tạo bộ quy tắc sinh data
var locations = new[] { "Singapore", "Taiwan", "China", "Japan", "Korea", "Indonesia", "Malaysia" };
var userFaker = new Faker<User>("vi")
.RuleFor(o => o.CustomerID, f => f.Random.Guid().ToString())
.RuleFor(o => o.Location, f => f.PickRandom(locations))
.RuleFor(o => o.ModifiedDate, f => f.Date.Recent(100))
.RuleFor(o => o.NameStyle, f => f.Random.Bool())
.RuleFor(o => o.Phone, f => f.Person.Phone)
.RuleFor(o => o.FirstName, f => f.Name.FirstName())
.RuleFor(o => o.LastName, f => f.Name.LastName())
.RuleFor(o => o.Title, f => f.Name.Prefix(f.Person.Gender))
.RuleFor(o => o.Suffix, f => f.Name.Suffix())
.RuleFor(o => o.MiddleName, f => f.Name.FirstName())
.RuleFor(o => o.EmailAddress, (f, u) => f.Internet.Email(u.FirstName, u.LastName))
.RuleFor(o => o.SalesPerson, f => f.Name.FullName())
.RuleFor(o => o.CompanyName, f => f.Company.CompanyName())
.RuleFor(o => o.UrlImage, f => f.Internet.Avatar());
Hàm Faker(string locale) dùng để khởi tạo quy tắc với locale chỉ ra ngôn ngữ của data test. Ví dụ như vi, en
Tạo 1 đối tượng và nhiều đối tượng
var user = userFaker.Generate(); //create an fake User object
var users = userFaker.Generate(100); // create a list of fake User
var index = 0;
foreach(var item in users)
{
index++;
Console.WriteLine(index + ". "+ item.FirstName + " " + item.LastName);
}
Nhận xét
Đăng nhận xét