这是一个错误:
您可以通过简单的方式重现错误:
NSManagedObject
@objc(Member)
class Member: NSManagedObject {
@NSManaged var family: Family
}
@objc(Family)
class Family: NSManagedObject {
@NSManaged var members: Set<Member>
}
.xcdatamodel
中设置:func testA() {
let family = Family.MR_createEntityInContext(context)
let father = Member.MR_createEntityInContext(context)
father.family = family
let firstMember = family.members.first
XCTAssertEqual(firstMember!, father)
}
最佳答案
我找到了一个解决方案:
我想那些有这种问题的人是这样将他们的文件导入到测试目标中的:
因为他们应该这样做,所以:
因此,只需从测试目标中删除文件即可。然后,如果您需要在测试目标中使用文件,则只需在每个测试类的中使用@testable
关键字即可。
这样,目标之间的转换值就不再存在问题。它为我工作:-)享受:-)
从Swift 2 + Xcode 7: Unit Testing Access Made Easy!!!!阅读更多
关于ios - 使用Set时将Swift 2.0 : Could not cast value MyApp. MyCustomClass更改为MyAppTests.MyCustomClass,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31089389/