iOS:单元测试看不到我的目标标识符

Posted

技术标签:

【中文标题】iOS:单元测试看不到我的目标标识符【英文标题】:iOS : Unit tests don't see my target identifiers 【发布时间】:2018-10-04 14:07:19 【问题描述】:

我有一个已经存在的应用程序,我想通过添加一些单元测试来改进它。 所以我进入主项目设置页面,添加了一个新的ios Unit Testing Bundle,并在设置面板中使用正确的目标进行测试。

但是,当我尝试在这些单元测试中使用此目标中的某些类/方法时,我收到一个错误:

使用未解析的标识符“XXXX”

我错过了什么?

感谢您的帮助。

【问题讨论】:

您是否在 XCTest 文件中导入了“@testable import YourProjectName”? 【参考方案1】: 首先,您必须成功构建目标 第二次导入目标文件

您必须在要使用此目标的类/方法的每个文件中导入目标文件 导入它使用这个

@testable 导入目标名称

@testable import UnitTestDemo

class ClassNameTest: XCTestCase 

let objectFromTestableTarget = ClassNameFromUnitTestDemo()
.....

或来自文件检查器的复选标记

在文件检查器中为您要导入的每个文件勾选 UnitTest 选项

【讨论】:

感谢您的回答。但是,当我尝试导入项目的模块时,出现错误:No such module 'ModuleName'. 在你使用@testable import TargetName之前你必须确保目标已经构建成功

以上是关于iOS:单元测试看不到我的目标标识符的主要内容,如果未能解决你的问题,请参考以下文章

iOS 单元测试包:为啥要启动该应用程序?

iOS 8 小部件单元测试

爱上iOS单元测试系列之爱上她就要先了解她:单元测试入门

Swift 中的单元测试 | IOS 故事板 |无法转换目标 c 中定义的视图控制器类

iPhone单元测试链接问题,找不到DevToolsBundleInjection.framework

为啥 Xcode 找不到我的单元测试应用程序?