2010-03-23 4 views
0

XML 파일에서 데이터를로드하는 데 NDBUbit을 사용하고 있습니다. 지금 당장 수동으로 각 레코드 (모든 테이블의 기본 키는 고유 식별자)에 GUID를 부여하고 있습니다. 이 작업을 수행하는 더 좋은 방법이 있는지 궁금합니다.NDBUnit을 사용하여 데이터에 대한 GUID 제공

답변

0

PK 값이 GUID 유형 인 NDbUnit을 지원하는 XML 파일의 모든 테스트 데이터의 경우 데이터 유형이 GUID가되어야한다는 점에 유의하십시오. 실제로 데이터 유형이 GUID 일 필요는 없습니다. '랜덤'GUID.

그런 테스트 데이터의 경우 FK에서 다른 PK를 제대로 참조 할 수 있도록 테스트 데이터에 '결정 론적 사람이 만든 GUID'를 사용하는 것이 좋습니다. 둘 다 테스트 데이터를 만들 때 GUID가 일 때 더 쉽게 작업 할 수 있다는 요구 사항을 충족시킵니다.

예를 들어, 다음을 참조 : 당신은 GUID에 대해 '알고'하는 데 필요한 모든 그들이 32chars의 형식에 길이 있다는 것입니다이 테스트 데이터 관리,이 경우

<?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> 

8chars을-4chars- 4chars-4chars-12chars. 이와 같이 손으로 '테스트 데이터'를 작성하는 경우 모든 문자가 동일하지 않게됩니다. 이 방법을 사용하면 테스트 데이터에 대한 "실제 GUID"를 생성 할 필요가 없으므로 위의 예제와 같이 간단한 GUID 반복 표현으로 쉽게 참조 할 수 있습니다.

이런 종류의 시나리오에서는 테스트 데이터에 입력하는 GUID의 '단일성'에 대해 100 % 책임을지게되므로이 테스트 데이터를 다른 GUID- 기반 데이터 행. NDbUnit의 전체적인 요점은 이와 같은 데이터를 독립적으로로드하고 관리하는 것입니다.

이와 같은 XML 파일에서 테스트 데이터를 수동으로 편집하지 않으려면 테스트 데이터 편집을위한 GUI를 제공하는 'NDbUnit DataSet Editor'도구의 알파 릴리스와 또한 이러한 상황에 대해 'GUID 생성 및 삽입'도구 모음 단추가 포함되어 있습니다. 그러나 이러한 경우 생성 된 GUID는 복사 및 붙여 넣기가 DataSet의 다른 위치에있는 다른 레코드의 FK로 참조하는 유일한 합리적인 방법이라는 것을 의미하는 '실제'GUID가됩니다.

희망이 도움이됩니다.

+0

예, 그게 무슨 짓을했는지 "테스트 데이터에서는 FK에서 다른 PK를 제대로 참조 할 수 있도록 테스트 데이터에 '결정 론적 인간이 만든 GUID'를 사용하는 것이 좋습니다. 둘 다 값이 GUID라는 요구를 만족시키고 테스트 데이터를 만들 때 더 쉽게 작업 할 수 있습니다. " – jess

+0

하지만이 GUID를 직접 작성하는 것은 나에게 고통스러운 것 같습니다. – jess