UI测试Mach-O链接器错误

时间:2017-04-28 08:43:17

标签: ios testing swift3 linker mach-o

我正在尝试编写UI&单元测试我们正在开发的应用程序。为了方便起见,我编写了一个类,它从项目的类中随机实例化对象,然后可以被所有测试类使用。

我现在遇到的问题是,在构建UI测试时,Mach-o链接器会抛出一些错误,说Symbols not found for architecture ...并引用我的项目的主类和随机对象生成器。

奇怪的是,对于单元测试,同样的随机生成器工作正常!

对于上下文:如果我在实际设备或模拟器上运行所有内容都无关紧要(因此错误中的架构参数无关紧要)

我的项目按以下方式设置:

  • 工作区:
    • 项目:我的项目
      • Class Foo
      • Class Bar
    • 目标:单元测试
      • 类RandomObjectGenerator
      • 单元测试1
    • 目标:UI测试
      • UI测试1

请注意,RandomObjectGenerator类已分配给以下目标: RandomObjectGenerator Target

因此,我的Unit / UI测试类总是指定@testable import MyProject

这是编译期间抛出的错误消息: Compiler Linker error

在编辑器中,我可以很好地引用这些类......

如果有人有任何想法,我会很高兴听到它。我有点失去了对这些错误的看法:(

1 个答案:

答案 0 :(得分:2)

你的问题目前还不容易解决......你必须做一些疯狂的事情来解决这个限制,例如:在UI测试目标中包含你的所有代码....或提供访问逻辑的方法你想要暴露,从UI层,以便它可以触发你的应用程序内的东西。即一个重置所有数据层的按钮......伪造网络连接...无论你的测试是什么。

检查此答案以获取更多详细信息以及解决该问题的不同策略:

Linker error when accessing application module in UI tests in XCode 7.1

相关问题