swift中的XCTest Array扩展

时间:2014-06-13 02:13:18

标签: clang swift xctest

我希望对我的Array扩展程序进行单元测试。

extension Array {
    func itemPassingTest(test: (T) -> Bool) -> T? {
        for item in self {
            if test(item) {
                return item
            }
        }

        return nil
    }
}

在我的单元测试目标中,我有

import XCTest
import JLTExample

class JLTExampleTests: XCTestCase {

    func testExtensionArray() {
        let target = [ ["a" : 1], ["a" : 2], ["a" : 3] ]
        let actual = target.itemPassingTest { $0["a"] == 2 }
        XCTAssertNotNil(actual)
    }

}

构建时我收到错误

Undefined symbols for architecture i386:
  "__TFSa15itemPassingTestU__fGSaQ__FFQSbGSqQ_", referenced from:
      __TFC17JLTExampleTests17JLTExampleTests18testExtensionArrayfS0_FT_T_ in JLTExampleTests.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我的猜测是我正在导入我的扩展程序,但我不知道如何导入扩展程序。我希望我的扩展程序已导入import JLTExample中的其余代码。

0 个答案:

没有答案