从测试目标看不到 Swift 类
Posted
技术标签:
【中文标题】从测试目标看不到 Swift 类【英文标题】:Cannot see Swift classes from test target 【发布时间】:2016-01-13 19:50:37 【问题描述】:我有一个同时使用 ObjC 和 Swift 代码的 ios 应用程序。我今天尝试为它设置一个测试目标,但没有成功。我有一个用 Swift 编写的测试用例类。我在那里导入了我的应用程序模块。我确保我尝试访问的课程是公开的。但我无法从我的测试目标中看到它们。我可以从那里看到 ObjC 代码。 我在一个虚拟项目上尝试了完全相同的步骤,并且效果很好。 我不想将用于测试的类添加到测试目标的编译源中。我也在使用 Xcode 6.3,目前不适合更新到 Xcode 7。 关于我做错了什么有什么想法吗?
【问题讨论】:
【参考方案1】:确保您的导入使用@testable 注释进行标记。例如,你想要:
@testable import myprojectname
相对于:
import myprojectname
【讨论】:
@testable 注释随 Swift 2 一起提供,目前我无法更新到 Xcode 7。 这仅适用于 Swift 测试;如果测试在 ObjC 中你不能做@testable import
【参考方案2】:
删除并重新创建测试目标后问题消失了。
【讨论】:
以上是关于从测试目标看不到 Swift 类的主要内容,如果未能解决你的问题,请参考以下文章
module.map 用于从测试目标访问主目标中的(Swift 和 Objective-C)类
如何从 Swift 单元测试访问测试目标中存在的 Objective-C 代码?