无法从 XCTest 访问应用程序代码

Posted

技术标签:

【中文标题】无法从 XCTest 访问应用程序代码【英文标题】:Can't access app code from XCTest 【发布时间】:2015-11-20 20:48:17 【问题描述】:

我有一个不断发展的 swift 项目,我一直在为它编写单元测试和 UI 测试。我的 UI 测试运行良好,但我的单元测试已停止编译。我正在使用“@testable import X”,但是每当我尝试从项目中访问一个类时,即使我将该类公开,我也会收到“使用未解析的标识符”错误。我不知道我可以改变什么导致事情开始失败。

【问题讨论】:

【参考方案1】:

从 Xcode 的“Product”菜单中选择“Clean”,然后重新编译。这通常会让它再次工作。出于某种原因,我们必须在将类提供给测试目标之前“清理”。

下面我的原始答案概述了@testable 对我们可用之前的旧解决方案。

--

确保PostCell 的源文件包含在测试目标的源文件列表中。

您可以通过转到测试目标并将其添加到“编译源”列表中来做到这一点:

或者通过点击“文件检查器”的“目标成员”来查找相关来源:

【讨论】:

这可以解决问题,但不是很干净。

以上是关于无法从 XCTest 访问应用程序代码的主要内容,如果未能解决你的问题,请参考以下文章

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

如何让 XCTest 应用程序(XCUITest 应用程序,而不是 SUT)访问照片库?

如何在 xctest 中使用 swift 点击地图注释时访问标注视图

如何从 UI Xctest 调用 Appdelegate 的“OpenURL”功能

XCTest.framework 构建错误

无法在 xctest 中导入主应用程序模块