iOS Swiftunit testing导致无法parsing的标识符

快速testing中的简单function:

func testExample() { var tagname = "someClass()" var logger = Device("", "") //unresolved identifier XCTAssert(true, "Pass") } 

即使我导入我的模块与“导入”,我仍然不能使用我的模块的类。 另外,尽pipe我可能在项目中搞砸了一些东西,但是我的示例项目中没有一个会让我使用模块类。

似乎应该工作,但可能已经打破了testing版2。

编辑:修复它IDE没有拿起参数名称的检查。 似乎Xcode仍然是一个有点iffy

我今天遇到了同样的问题,不确定这是否最近才可用 – 而不是在testing文件中使用import TARGET_NAME ,或者将您的类/方法声明为public ,您可以通过XCode的File Inspector将文件添加到testing目标。

Cmd + Opt + 1在任何文件中显示,并勾选Target Membership下方的框作为testing目标。

文件检查员 - 目标成员

您可能需要重build…. Cmd + b

这应该是特定于我的系统….我正在运行Xcode 6.3 beta 1,并通过Quick + Nimbletesting,都安装了最新的cocoapodstesting版。

看来,在Xcode 6 Beta 4中,您需要将public类和方法声明为“public”。 例:

 public class Device { public init(...) { } public func myMethod(...) { } } 

现在,他们可以从快速的testing课程访问。

对我来说问题是我的主要目标名称中包含非字母数字字符。

我必须按以下方式导入它(请注意特殊的@testable annotation

@testable import my_tutorial_app

在Swift中导入目标名称将解决问题。