【问题标题】:XCTAssertEqualObjects and NSManagedObjectsXCTAssertEqualObjects 和 NSManagedObjects
【发布时间】:2014-03-06 23:31:11
【问题描述】:

我不确定为什么 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 字段?是否有另一种方法可以在不迭代和比较其属性的情况下松散地比较两个对象?

【问题讨论】:

标签: ios core-data xctest


【解决方案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"]);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-08
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多