C 中使用Bogus建立模擬資料

2022-01-19 16:57:08 字數 2028 閱讀 7594

原文:creating sample data for c#
在我每次寫技術類博文的時候,經常做的一件事就是建立模擬資料。在每篇博文中,為了解釋某些概念,我需要建立許多模擬資料。這是乙個我在實際中遇到的問題,因為我需要為我的程式找到一些合適的資料。有些時候,我會從資料庫中找一些資料(northwind和adventureworks都是我的好朋友.), 有些時候,我會使用一些現成的json或者xml資料,當然有時候我只能自己手動建立一些資料。

當然以上方案都不完美,也都不穩定,所以每次我都需要探索一些新方式來獲取資料(對於學習來說這很好,但是維護起來確是一種災難)。

最後我找到了bogus, 乙個基於c#的簡單資料生成器。

使用bogus生成模擬資料, 你只需要定義規則並生成資料即可,就是這麼簡單。而且bogus可以生成固定資料或者變化資料。這樣一旦你拿到了這些資料,你就可以把它們序列化成你想要的格式: json, xml,資料庫或者文字檔案。

為了生成模擬資料,我們首先需要針對模擬資料建立對應的實體類。這裡我們可以建立乙個命令列程式,並新增一下兩個類。

public class customer

public string name

public string address

public string city

public string country

public string zipcode

public string phone

public string email

public string contactname

public ienumerableorders

}

public class order

public datetime date

public decimal ordervalue

public bool shipped

}

在你建立好以上兩個實體類之後,你就可以來新增倉儲來獲取模擬資料了。為了使用bogus, 你可以使用nuget將bogus庫新增到你的專案中。

install-package bogus

下面我們就可以來新增乙個倉儲類來獲取模擬資料了。這裡我們新增乙個samplecustomerrepository類,並加入以下方法。

public ienumerablegetcustomers()

這裡的第三行**,我們為randomizer.seed屬性指定乙個固定的隨機種子,因此每次生成的資料都是一樣的。如果你不希望每次都生成固定的資料,你可以去掉這行**。

這裡我們為訂單和客戶資料的生成定義了規則,然後我們呼叫了generate方法來生成模擬資料。就是這麼簡單。

如上所見,bogus提供了許多類來生成資料。例如company類可以用來生成公司模擬資料,例如公司名稱。你可以使用這些生成的資料作為你程式的模擬資料,這些資料有3種使用場景

但是我確信,你能發現更多的使用場景。

這裡為了使用這些資料,你可以在main方法中加入以下**

static void main(string args)

這裡我們將模擬資料轉換成了json字串,所以這裡你需要新增對newtonsoft.json庫的引用。當你執行程式之後,你會得要以下結果。

如上所見,程式生成了乙個顧客的資料集,並附帶了每個顧客的所有訂單資訊。

vue cli中使用mockjs模擬資料

在日常開發中是否遇到過這種情況 在進行前後端分離開發的專案時,我們前端的頁面寫好了,但是後端的介面還差一點,這個時候我們只能等後端把介面實現好或者我們自己模擬一些假資料,無論那種方法都會浪費大量時間。好在mockjs很好的幫我們解決了這個煩惱。npm install mockjs新建乙個mock.j...

Vue cli專案中使用mockjs模擬資料

const mock require mockjs 獲取mock物件 const random mock.random 獲取random物件,隨機生成各種資料,具體請翻閱文件 const domain 定義預設網域名稱,隨便寫 const code 200 返回的狀態碼 隨機生成文章資料 const...

SQL Server使用迴圈語句建立模擬資料

sql server使用迴圈語句建立模擬資料 例項1 使用迴圈語句建立模擬資料 1.1 建立學生資訊表 create table stuinfo stuid int,學生編號 stuname nvarchar 20 學生姓名 nvarchar 20 學生性別 1.2 給學生資訊表建立模擬資料 beg...