我使用c#和單元測試和集成測試通常我需要基於屬性自動填充字段。
假設我們將測試我們是否可以編寫並獲取用戶數據到數據庫。.NET是否有任何框架來填充測試數據?
- 我創建了一個用戶對象填充字段寫入用戶數據庫
- 讀取用戶對象從數據庫
- 檢查領域,如果我寫的是同我讀
是否有任何框架自動爲用戶填充測試數據並檢查兩個對象是否具有相同的值?
示例代碼可能會喜歡這個
User user = new User();
AutoPopulator.Populate(user);
user.Save();
我使用c#和單元測試和集成測試通常我需要基於屬性自動填充字段。
假設我們將測試我們是否可以編寫並獲取用戶數據到數據庫。.NET是否有任何框架來填充測試數據?
是否有任何框架自動爲用戶填充測試數據並檢查兩個對象是否具有相同的值?
示例代碼可能會喜歡這個
User user = new User();
AutoPopulator.Populate(user);
user.Save();
看一下NBuilder,它可以讓你用隨機數據或遞增值構建測試對象,以及任何你可能想到的東西。雖然一個不錯的流暢的界面。
是的,有。在觀看Summer of NHibernate系列的會議#3時,我通過Stephen Bohlen發現了這一點。
他的公司Microdesk開發了一個實用程序,它可以讓您在測試夾具結構中保存數據庫的狀態,在每次測試開始時設置數據庫的狀態並恢復數據庫的原始狀態對測試夾具進行解構。
這裏下載該實用程序:Microdesk.Utility.UnitTest
有關如何使用它的教程,看NHibernate的會話#3視頻的夏季。
流利的NHibernate有一個功能,讓你的願望清單上的一切,除了自動填充部分:
鏈接:http://wiki.fluentnhibernate.org/Persistence_specification_testing
然而,考慮到C#代碼爲合同,它不會是很難自動神奇地使用反射自己創建有效的對象。
您可能認爲它有相關性。下面是今天的一些其他框架的列表:
知名和推崇:
鮮爲人知:
陌生:
我無法讓AutoPoco爲我工作,但AutoFixture似乎非常有用。 – 2014-03-19 16:40:55
虛假似乎是最積極的更新,我非常喜歡它的能力。感謝您列出這些! – 2015-06-22 14:15:00
虛假工作對我來說,它適用於Linux上的dotnet核心,這也是我想要的 – 2017-05-26 05:29:43
@BilltheLizard - 封閉,沒有建設性?? !!這個問題非常有建設性,答案很棒。 – 2017-08-14 13:27:09
@JohnHenckel請閱讀[我應該避免詢問什麼類型的問題?](https://stackoverflow.com/help/dont-ask) – 2017-08-14 13:32:42
@BilltheLizard哦,我明白了。你的意思是它是「主要基於觀點的」。我同意。但我認爲這是有建設性的。 – 2017-08-18 15:36:19