2014-02-09 2 views
1

NSManagedObjects 왜 XCTAssertEqualObjects이 오브젝트가 동일한 아니라는 것을 말하고있다 :XCTAssertEqualObjects 나는 확실하지 않다

[PlayerService_Test testMapping] : ((player) equal to (mappingTest.destinationObject)) failed: ("<PlayerVO: 0x8ec13e0> (entity: PlayerVO; id: 0x8ec1440 <x-coredata:///PlayerVO/t4741C1FA-8A84-4A41-9F2E-9476B1900CFD2> ; data: { 
    activities =  (
    ); 
    dob = "1986-08-15 23:00:00 +0000"; 
    firstName = Ahmed; 
    fullName = nil; 
    lastName = Ahmed; 
    middleName = Ahmed; 
    sex = m; 
})") is not equal to ("<PlayerVO: 0x8f09660> (entity: PlayerVO; id: 0x8f57490 <x-coredata:///PlayerVO/t4741C1FA-8A84-4A41-9F2E-9476B1900CFD3> ; data: { 
    activities =  (
    ); 
    dob = "1986-08-15 23:00:00 +0000"; 
    firstName = Ahmed; 
    fullName = nil; 
    lastName = Ahmed; 
    middleName = Ahmed; 
    sex = m; 
})") 

이 때문에 activities 필드이 될 수 있을까요? 속성을 반복하고 비교하지 않고 느슨하게 두 객체를 비교하는 또 다른 방법이 있습니까?

+0

그래서이있었습니다 : http://stackoverflow.com/questions/6298005/should-i-use-or-nsmanagedobject-isequal-to- 비교 관리 객체 –

답변

1

그래서이 작동하지만, 그것은 꽤 불쾌한입니다 :

XCTAssertEqualObjects([player valueForKey:@"firstName"], [mappingTest.destinationObject valueForKey:@"firstName"]); 
XCTAssertEqualObjects([player valueForKey:@"middleName"], [mappingTest.destinationObject valueForKey:@"middleName"]); 
XCTAssertEqualObjects([player valueForKey:@"lastName"], [mappingTest.destinationObject valueForKey:@"lastName"]); 
XCTAssertEqualObjects([player valueForKey:@"dob"], [mappingTest.destinationObject valueForKey:@"dob"]); 
XCTAssertEqualObjects([player valueForKey:@"sex"], [mappingTest.destinationObject valueForKey:@"sex"]); 
관련 문제