XCode - 根据构建目标更改主机应用程序中的文件?

时间:2016-08-29 08:20:29

标签: swift xcode build-process xctest

我有一个OS X应用程序;我们称之为 MyApp 。在MyApp目标内部,我们有一个 Singletons.swift 文件,该文件设置了例如数据库访问。

我还有一个UI测试目标 MyAppUITests 。如果我没有弄错的话,UI测试目标没有内部代码访问主机应用程序;主机以自己的调试模式构建,然后构建并单独运行UI测试。

在构建测试运行器时,是否可以让主机MyApp使用MyAppUITests组中的Singletons.swift文件?

当然,我可以在测试方案中添加一个环境变量RUNNING_UI_TESTS。然后使用 SingletonsLoader.swift 替换MyApp中的Singletons.swift:

#if RUNNING_UI_TESTS
  let Singletons = UITestSingletons()
#else
  let Singletons = AppSingletons()
#endif

但这显然不太理想。如果我们正在构建应用程序本身,我更愿意包含一个文件,如果我们正在构建应用程序以成为测试目标的主机,我更愿意包含另一个文件。

这可能吗?

0 个答案:

没有答案