gpt4 book ai didi

swift - 对使用 Parse.com 的 Swift 应用程序进行单元测试

转载 作者:搜寻专家 更新时间:2023-10-31 22:35:01 24 4
gpt4 key购买 nike

我有一个使用 Parse.com 作为后端的示例应用程序,现在我正在编写一些单元测试。正如 Parse 文档中所述,当我将 PFObject 子类化时,我实现了初始化方法:

override class func initialize() {
struct Static {
static var onceToken : dispatch_once_t = 0;
}
dispatch_once(&Static.onceToken) {
self.registerSubclass()
}
}

当我运行我的单元测试时,我的应用程序在初始化方法中崩溃并出现以下错误:

由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“尝试将 TargetName.MyObject 和 TargetNameTests.MyObject 注册为 MyObject 的 native PFObject 子类。无法确定要使用的正确类,因为它们都不是从另一个继承的。

知道如何解决这个问题吗?

最佳答案

我找到的唯一方法是不将子类包含在测试目标中并将子类及其变量和方法声明为公开的。并导入您的应用程序目标

#import MyProject
#import Parse
#import XCTest

public class MySubClass: PFObject, PFSubclassing {
@NSManaged public var name: String?

public static func parseClassName() -> String {
return "MySubClass"
}
}

然后在测试文件中你需要这样调用这个类:

let testObject = MyProject.MyClass()

关于swift - 对使用 Parse.com 的 Swift 应用程序进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31359195/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com