如何在 Xcode 中的 UI 测试类的目标中包含 SwiftyUserDefaults.swift?

Posted

技术标签:

【中文标题】如何在 Xcode 中的 UI 测试类的目标中包含 SwiftyUserDefaults.swift?【英文标题】:How to include SwiftyUserDefaults.swift in the target for UI Test class in Xcode? 【发布时间】:2016-07-21 09:50:43 【问题描述】:

我在 iPhone 的 Xcode swift 应用程序中创建了一个用户界面测试类,它作用于屏幕并按下一些按钮。 但是构建失败,因为某些库(SwiftyUserDefaults.swift 和 SwiftyJSON.swift)未包含在 Test 类的目标中 - 我收到错误:

当我将 SwiftyJSON.swift 类包含在测试类的编译资源中时,如下所示:

我得到另一个错误,这基本上意味着我included the same file twice:

我该怎么办?如何将库包含在 UI 测试类的目标中?

【问题讨论】:

您是否标记了文件/框架@testable 【参考方案1】:

确保在“实用工具”窗格中为每个 Swift 文件选择了 UI 测试包 -> 目标成员:

【讨论】:

我会接受这个答案,因为它是正确的,但在我的情况下,问题是:我的测试类包括两个目标:UI 测试包和项目目标,它不应该。它必须只包含 UI 测试包。【参考方案2】:

我会接受 JAL 的回答,因为它在技术上是正确的,它让我检查了所有目标(这解决了问题),但在我的情况下,问题是:我的测试类包括两个目标:UI 测试包和项目目标,它不应该。它必须只包含 UI 测试包。

错误:

右:

【讨论】:

以上是关于如何在 Xcode 中的 UI 测试类的目标中包含 SwiftyUserDefaults.swift?的主要内容,如果未能解决你的问题,请参考以下文章

sdl 目标 c++ 和 xcode 在游戏中包含 sdl 框架

Copy Bundle Resources 构建阶段在 xcode 6 中包含此目标的 Info.plist 文件“Info.plist”吗?

在 Xcode 静态库中包含框架?

如何让 Xcode 7 保留来自 UI 测试目标的日志记录输出?

如何从 XCTest 中的 UI 目标调用主目标中的方法?

如何在现有的 ios 测试项目中启用 xcode 7 UI 测试