首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用NDBUnit为数据提供GUID

使用NDBUnit为数据提供GUID
EN

Stack Overflow用户
提问于 2010-03-23 17:50:31
回答 1查看 149关注 0票数 0

我现在正在使用NDBUbit从XML file.Right中加载数据,我手动为xml file.But中的每个记录提供GUID (我们所有表的主键都是唯一标识符),我想知道是否有更好的方法来做到这一点?

EN

回答 1

Stack Overflow用户

发布于 2010-05-17 19:11:43

对于支持NDbUnit的XML文件中的所有测试数据,其中的pk值都是GUID类型,请注意,所有需要的数据类型都是GUID --它实际上不一定是“随机”GUID。

对于这样的测试数据,以便您可以在FKs中正确引用其他PKs (例如),我始终建议在您的测试数据中使用“确定性的人工创建的GUID”。它们都满足了值是GUID的要求,并使您在制作测试数据时更容易使用它们。

作为示例,请参阅以下内容:

代码语言:javascript
复制
<?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,即它们的长度为32个字符,格式为8chars-4chars-4chars-4chars-12chars。如果你像这样“手工”制作测试数据,那么没有什么可以阻止所有字符都是相同的。这种方法消除了为您的测试数据生成“实际GUID”的任何需要,并允许您通过简单的GUID重复表示来轻松地引用这些GUID,如上面的示例所示。

请注意,在这种情况下,您将对输入到测试数据中的GUID的“唯一性”承担100%的责任,因此此测试数据只能安全地与其他基于GUID的数据行隔离使用。这(通常)不应该是任何问题,因为NDbUnit的全部要点是独立地加载和管理这样的数据。

如果您不想在这样的XML文件中手动编辑测试数据,我们即将发布名为“NDbUnit DataSet编辑器”的工具的alpha版本,该工具提供了一个用于编辑测试数据的图形用户界面,还包含一个用于此类情况的“生成和插入GUID”工具栏按钮。但是,请注意,在这种情况下生成的GUID将是“真实的”GUID,这意味着复制和粘贴是将一个GUID作为DataSet中其他地方的另一条记录的FK引用的唯一合理方法。

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2498851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档