gpt4 book ai didi

NSCoding 的 Swift 2.0 单元测试

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

我将尝试使用 Xcode 7(代码覆盖率)和 Swift 2.0 中的新测试功能。

使用代码覆盖,我发现我没有测试我的 NSCoding 方法。

enter image description here

保存一些细节的简单例子,例如:

required init(coder aDecoder: NSCoder) {
name = aDecoder.decodeObjectForKey("name") as! String
time = aDecoder.decodeIntegerForKey("time")
}

func encodeWithCoder(aCoder: NSCoder) {
aCoder.encodeInteger(time, forKey: "time")
aCoder.encodeObject(name, forKey: "name")
}

如何在 XCTest 类中测试这些方法。

最佳答案

远离问题总是有帮助的。

func testDecoder() {

let path = NSTemporaryDirectory() as NSString
let locToSave = path.stringByAppendingPathComponent("teststasks")

let newTask = Task(name: "savename", time: "10")

// save tasks
NSKeyedArchiver.archiveRootObject([newTask], toFile: locToSave)

// load tasks
let data = NSKeyedUnarchiver.unarchiveObjectWithFile(locToSave) as? [Task]

XCTAssertNotNil(data)
XCTAssertEqual(data!.count, 1)
XCTAssertEqual(data!.first?.name, "savename")
XCTAssertEqual(data!.first?.time, 10)
}

关于NSCoding 的 Swift 2.0 单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32030411/

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