iOS - 从发布版本中排除测试文件

时间:2017-03-10 08:13:49

标签: ios database unit-testing testing xcode-ui-testing

在开发iOS应用程序时,我需要运行unit& ui测试预加载的数据库。因此,我计划将仅在DEBUG构建中预装在App中的DB文件包含在内,因为UI / Unit测试只能使用DEBUG构建运行。如何从Release版本中排除DB文件?

目前我可以使用以下方式检测主机应用程序是否正在运行以进行测试,

  

https://stackoverflow.com/a/33466038/1084174

但是如何使用这种技术排除和包含database.db?

真的很感激一点指导。

2 个答案:

答案 0 :(得分:1)

最后我解决了这个问题。

  1. 打开您的项目文件。在屏幕底部,单击添加构建设置 - >添加用户定义的设置并将其命名为EXCLUDED_SOURCE_FILE_NAMES。

  2. 单击EXCLUDED_SOURCE_FILE_NAMES左侧的箭头将其展开。在此变量的Release配置中,添加libTestFlight.a以及您要排除的任何其他文件(以空格分隔)。

答案 1 :(得分:0)

执行此操作的标准方法是在Xcode中创建一个用于调试的新Target。然后,您可以在文件上使用目标选择器

File targets

在这里你可以看到我有一个源文件,它包含在我的主目标中,但不在我的消息扩展中。这将显示在屏幕右侧的“实用工具”窗格中。您可以通过在调试目标中包含文件来实现相同目的,但不能释放(反之亦然)。