gpt4 book ai didi

swift - 如何测试所需的初始化(编码器 :)?

转载 作者:IT王子 更新时间:2023-10-29 05:50:01 28 4
gpt4 key购买 nike

在我的自定义类 WLNetworkClient 中,我必须实现这样的方法:

required init(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}

我不需要使用它,但我想测试它以实现 100% 的代码覆盖率。你知道如何实现吗?

我尝试了以下方法但没有成功:

let nc = WLNetworkClient(coder: NSCoder())
XCTAssertNotNil(nc)

最佳答案

生产代码:

required init?(coder: NSCoder) {
return nil
}

测试:

func testInitWithCoder() {
let archiverData = NSMutableData()
let archiver = NSKeyedArchiver(forWritingWithMutableData: archiverData)
let someView = SomeView(coder: archiver)
XCTAssertNil(someView)
}

由于required initializer返回nil并且没有使用coder,所以上面的代码可以简化为:

func testInitWithCoder() {
let someView = SomeView(coder: NSCoder())
XCTAssertNil(someView)
}

关于swift - 如何测试所需的初始化(编码器 :)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32500193/

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