我有一个用Swift编写的项目。
我在这个objC类的扩展中有一个ObjectiveC cocoaPod和一些Swift方法。
现在我正在尝试为这些方法编写单元测试,它编译得很好但是抛出了#34;无法识别的选择器发送到实例"当从扩展名执行方法调用时。
有趣的是:如果我将扩展中方法的返回值更改为可选类型 - 它可以正常工作。
实施例
Pod文件:
use_frameworks!
abstract_target 'App' do
pod 'GoogleMaps', '2.1.1'
target 'TestsBug'
target 'TestsBugTests' do
inherit! :complete
end
end
扩展档案:
import Foundation
import GoogleMaps
extension GMSPath {
func func1() -> Int {
return 0
}
func func2() -> Int? {
return 0
}
}
测试:
func testExample() {
let path = GMSPath(fromEncodedPath: "abr~Frc`vOp@wwE")
path?.func2()
path?.func1()
}
func2
在执行func1
时执行正常我收到unrecognized selector sent to instance ...
错误。