Bar*_*zyk 8 unit-testing swift xcode7.1beta
在我的自定义类中,WLNetworkClient我必须实现这样的方法:
required init(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
Run Code Online (Sandbox Code Playgroud)
我不需要使用它,但我想测试这个以实现100%的代码覆盖率.你知道如何实现这个目标吗?
我尝试了以下方式但没有成功:
let nc = WLNetworkClient(coder: NSCoder())
XCTAssertNotNil(nc)
Run Code Online (Sandbox Code Playgroud)
生产代码:
required init?(coder: NSCoder) {
return nil
}
Run Code Online (Sandbox Code Playgroud)
测试:
func testInitWithCoder() {
let archiverData = NSMutableData()
let archiver = NSKeyedArchiver(forWritingWithMutableData: archiverData)
let someView = SomeView(coder: archiver)
XCTAssertNil(someView)
}
Run Code Online (Sandbox Code Playgroud)
由于所需的初始化程序返回nil并且不使用编码器,因此上述代码可以简化为:
func testInitWithCoder() {
let someView = SomeView(coder: NSCoder())
XCTAssertNil(someView)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2065 次 |
| 最近记录: |