我正在尝试编写UI&单元测试我们正在开发的应用程序。为了方便起见,我编写了一个类,它从项目的类中随机实例化对象,然后可以被所有测试类使用。
我现在遇到的问题是,在构建UI测试时,Mach-o链接器会抛出一些错误,说Symbols not found for architecture ...
并引用我的项目的主类和随机对象生成器。
奇怪的是,对于单元测试,同样的随机生成器工作正常!
对于上下文:如果我在实际设备或模拟器上运行所有内容都无关紧要(因此错误中的架构参数无关紧要)
我的项目按以下方式设置:
请注意,RandomObjectGenerator类已分配给以下目标:
因此,我的Unit / UI测试类总是指定@testable import MyProject
。
在编辑器中,我可以很好地引用这些类......
如果有人有任何想法,我会很高兴听到它。我有点失去了对这些错误的看法:(
答案 0 :(得分:2)
你的问题目前还不容易解决......你必须做一些疯狂的事情来解决这个限制,例如:在UI测试目标中包含你的所有代码....或提供访问逻辑的方法你想要暴露,从UI层,以便它可以触发你的应用程序内的东西。即一个重置所有数据层的按钮......伪造网络连接...无论你的测试是什么。
检查此答案以获取更多详细信息以及解决该问题的不同策略:
Linker error when accessing application module in UI tests in XCode 7.1