Coding技巧:快速產生C#含測試資料的類別
在補測試程式的過程,有時需要提供假資料給測試程式以驗證正確性。因為是補的過程,在資料庫中已經有測試資料,所有我想借由這些測試資料快速產出一個假的含資料的類別。但有些類別中的欄位非常多,而且很多又有階層關係,一字一字輸入轉回 C# 的資料類別又慢又沒效率。
例如,我從 Postman 取得以下 JSON:
{
"Region": [
{
"Region": ""
},
{
"Region": "ILan"
},
{
"Region": "Taipei"
},
{
"Region": "Hsinchu"
}
],
"Year": [
{
"Year": "2019"
},
{
"Year": "2018"
}
],
"Author": [
{
"Author": ""
},
{
"Author": "Bruce"
},
{
"Author": "Gina"
},
{
"Author": "Carl"
}
]
}
但我們想轉換為含資料類別,利用 Visual Studio 的 Paste JSON as Classes 功能,就可以得到 Model 類別:
public class Rootobject
{
public Region[] Region { get; set; }
public Year[] Year { get; set; }
public Author[] Author { get; set; }
}
public class Region
{
public string Region { get; set; }
}
public class Year
{
public string Year { get; set; }
}
public class Author
{
public string Author { get; set; }
}
但這 Model 類別我們專案早就有了。這不是我想要的 Data 類別。我們回到 API 專案,先下個中斷點,然後啟動專案,這裡我們借助 Oz-Code 裡的一個 Export 功能,你可以看一下官方 gif 的展示:
如果說有那個點不方便,也只有那個中斷點,然後需要進行一次整合測試才能取得我們想要的 Data 類別。現在我們可以快速的幫測試專案加入資料類別,以利測試專案使用。
看來要把OZCode裝回來了....
回覆刪除這樣的好物,為何 VS Team 不買下來 XD
刪除買下來就會廢掉了,不要忘了 Alive...
刪除Alive,可憐的孩子,我也好想他,哭哭。(看著那不成器的 Live Unit Testing)
刪除http://json2csharp.com/
回覆刪除把JSON貼上去就能自動產生 class 了
我文章有寫呀,Visual Studio本身有內建 json to class 的功能哦。但我要「含資料」的 class。
刪除漏看了 抱歉抱歉 感謝分享
刪除