我正在使用NDBUbit從XML文件加載數據。現在,我正在爲xml文件中的每條記錄(我們的所有表的主鍵都是唯一標識符)手動提供GUID。但是,我想知道是否有更好的方法來做到這一點?使用NDBUnit爲數據提供GUID
0
A
回答
0
對於XML文件中支持NDbUnit的所有測試數據,您的PK值都是GUID類型,請注意,所需的全部數據類型都是GUID - 它實際上並不是一個GUID '隨機'GUID。
對於這樣的測試數據,以便您可以正確引用FK中的其他PK(例如),我總是建議在測試數據中使用「確定性人爲創建的GUID」。他們都滿足要求,當您製作測試數據時,值爲GUID 和可以更輕鬆地使用它們。
作爲一個例子,看到以下內容:
<?xml version="1.0" encoding="utf-8" ?>
<UserDS xmlns="http://tempuri.org/UserDS.xsd">
<Role>
<ID>11111111-1111-1111-1111-111111111111</ID>
<Name>Admin</Name>
<Description>Serves as an administrator</Description>
</Role>
<Role>
<ID>22222222-2222-2222-2222-222222222222</ID>
<Name>User</Name>
<Description>User with limited security</Description>
</Role>
<dbo.User>
<ID>22222222-2222-2222-2222-222222222222</ID>
<FirstName>John</FirstName>
<LastName>Williams</LastName>
<Age>30</Age>
<SupervisorID>11111111-1111-1111-1111-111111111111</SupervisorID>
</dbo.User>
<dbo.User>
<ID>11111111-1111-1111-1111-111111111111</ID>
<FirstName>Hammad</FirstName>
<LastName>Awan</LastName>
<Age>29</Age>
</dbo.User>
<UserRole>
<UserID>11111111-1111-1111-1111-111111111111</UserID>
<RoleID>11111111-1111-1111-1111-111111111111</RoleID>
</UserRole>
<UserRole>
<UserID>22222222-2222-2222-2222-222222222222</UserID>
<RoleID>11111111-1111-1111-1111-111111111111</RoleID>
</UserRole>
<UserRole>
<UserID>11111111-1111-1111-1111-111111111111</UserID>
<RoleID>22222222-2222-2222-2222-222222222222</RoleID>
</UserRole>
</UserDS>
在這種情況下,管理這個測試數據,所有你需要「知道」有關的GUID是,他們32chars長格式8chars,4chars- 4chars-4chars-12chars。如果你正在像這樣手工製作你的測試數據,那麼沒有任何東西可以保持所有角色不變。這種方法消除了爲測試數據生成「實際GUID」的需要,並允許您通過簡單的GUID重複表示來輕鬆地引用這些GUID,如上面的示例所示。
請注意,在這種情況下,您正在爲您輸入到測試數據中的GUID的「唯一性」承擔100%的責任,因此此測試數據只能安全地與其他GUID-基於數據行。這個(通常)不應該是任何問題,因爲NDbUnit的整個要點是單獨加載和管理這樣的數據。
如果您不想在這樣的XML文件中手工編輯您的測試數據,我們接近一個名爲'NDbUnit DataSet Editor'的工具的Alpha版本,該工具提供了用於編輯測試數據的GUI和還包含一個'生成並插入GUID'工具欄按鈕,用於這種情況。但是請注意,在這種情況下生成的GUID將是'真正的'GUID,這意味着複製和粘貼將是引用另一個記錄的FK作爲DataSet中其他位置的唯一合理方法。
希望這會有所幫助。
相關問題
- 1. 使用GUID MySQL的成員提供用戶
- 2. 加載XML數據轉換成ndbunit
- 3. 使用array_count_values提供的數據
- 4. Laravel5使用JSON&Seeder提供數據庫
- 5. 用數據提供UIView
- 6. 在Visual Studio 2015中爲Firebird提供的ADO.NET數據提供者
- 7. 爲新數據庫提供程序創建EF提供程序
- 8. 使用矢量作爲圖表數據提供者?
- 9. 爲quantstrat使用外部提供的指標數據
- 10. flex:使用arraycollection作爲綁定變量提供空數據
- 11. 爲核心數據應用程序提供基礎數據?
- 12. 如何使用GUID屬性提供程序使用log4net登錄到可空的GUID表列
- 13. EXTJS 4 - 爲XTemplate提供數據
- 14. 爲VBA提供數據標籤excel
- 15. DataContext與MSAccess作爲數據提供者
- 16. 爲Robolectric提供SharedPreferences的測試數據
- 17. emberjs爲多個組件提供數據
- 18. 提供JSON作爲富數據:extendedDataTable
- 19. 爲Blend和VS提供designtime ViewModel數據
- 20. 如何爲Winamp插件提供數據?
- 21. 在數據提供者中傳遞數據提供者
- 22. 問題與NDBUnit
- 23. 供應功能ABAP - 如何使用提供FuBa的數據?
- 24. Entity MVC3使用GUID播種數據
- 25. 使用NDBUnit驗證NHibernate映射
- 26. 使用NDbUnit與具有表模式
- 27. 使用來自外部數據提供者(API)的數據
- 28. 使用內容提供者從數據庫加載數據
- 29. 使用ArrayCollection數據提供程序訪問ComboBox的數據
- 30. 如何使用Firebird ADO.NET數據提供程序獲取數據
這就是我所做的「對於這樣的測試數據,以便您可以正確引用FK中的其他PK(例如),我總是建議在測試數據中使用」確定性人爲創建的GUID「。滿足要求時,該值是一個GUID,並在製作測試數據時更容易與他們合作。「 – jess 2010-05-20 07:35:24
但是,用手寫這些GUID還是讓我很痛苦 – jess 2010-05-20 07:35:44