无法识别的选择器。用于Swift扩展ObjectiveC CocoaPod的Swift单元测试

时间:2017-04-13 18:05:13

标签: ios objective-c swift unit-testing

我有一个用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 ...错误。

0 个答案:

没有答案