我們在計畫開發中,為了保證系統功能完整、準確性,我們都需要模擬真實數據進行測試。
今天推薦一個開源庫,方便我們制造假數據測試。
01
計畫簡介
Bogus 是一個開源的 .NET 庫,它提供了一個強大的工具集,用於生成虛假(mock)數據。方便計畫用於測試、填充資料庫、建立模擬數據集或生成範例數據,以便開發、測試、演示使用。
02
計畫特點
1、簡單易用:提供了一個簡單直觀的 API,使得生成各種型別的數據變得非常容易。
2、客製性強:使用者可以客製生成的假數據,包括自訂格式、規則和數據型別。
3、擴充套件性:允許開發人員建立自己的數據生成器和處理常式,以支持特定的數據格式或結構。
4、豐富的數據型別:支持生成多種型別的數據,包括但不限於名字、地址、日期、電話號碼、電子信件地址等。
5、在地化支持:支持不同地區和文化的在地化數據生成,這使得它能夠生成特定語言和地區的假數據。
6、可配置的隨機性:可以配置隨機種子,以便在需要可重復結果的測試場景中使用。
7、復合型別支持:能夠生成復合物件的假數據,包括物件圖和復雜型別的數據。
8、日期和時間生成:可以生成隨機的日期和時間數據,並且可以指定範圍。
9、可與其他庫整合:可以輕松地與 Entity Framework 等 ORM 工具整合,用於資料庫的種子數據生成。
03
使用方法
1、安裝依賴庫
Install-Package Bogus
2、範例程式碼
using Bogus;
// 建立一個 Faker 例項
var faker = new Faker();
//範例1:生成一個隨機的名字
string name = faker.Person.FullName;
Console.WriteLine(name);
//範例2:生成一個隨機的地址
string address = faker.Address.FullAddress();
Console.WriteLine(address);
//範例3:生成一個隨機的日期
DateTime date = faker.Date.Past();
Console.WriteLine(date);
//範例4
// 建立一個自訂的數據生成器
var customGenerator = new Faker<Address>()
.RuleFor(a => a.Street, f => f.Address.StreetName())
.RuleFor(a => a.City, f => f.Address.City());
// 使用自訂生成器生成一個地址物件
Address generatedAddress = customGenerator.Generate();
Console.WriteLine($"Street: {generatedAddress.Street}, City: {generatedAddress.City}");
public class Address
{
public string Street { get; set; }
public string City { get; set; }
}
3、效果
04
計畫地址
https://github.com/bchavez/Bogus
覺得好看 點個在看👇