无法确定xxxTest TEST_HOST的包标识符

问题描述 投票:8回答:3

我们确实让CI与Xcode一起工作有麻烦。我们遇到问题Could not determine bundle identifier for xxxTest TEST_HOST: some path that does not exist

到目前为止我们做了什么:

  • 在CI机器上,我们可以在设备上运行所有测试,但是如果我们通过提交触发它,则CI会在该错误中结束。
  • 当我们尝试运行应用程序的测试时,我们也在其他机器上遇到了这个问题。我们通过清理机器并重新启动设备来解决这个问题。(已经修复了一些方案设置)不是我们可以运行所有测试但是我们有时会毫无理由地遇到问题。
  • 我们还仔细检查了这些计划。主机应用程序在应用程序本身的每个测试方案中设置。

我们的项目有以下目标:

  • 应用
  • 应用单元测试
  • 应用UI测试
  • AppeareanceKit(模块)
  • AppeareanceKit单元测试
  • 型号(模块)
  • 型号单元测试

找到解决方案

  1. 禁用除App UITest之外的测试
  2. 运行一次测试
  3. 启用所有测试
  4. 运行测试

题:

  • 那里发生了什么?我们怎样才能防止一遍又一遍地出现这个问题?

已知问题:

Xcode 8 Beta - Convert to Current Swift Syntax Failed: Could not find test host

Tests stop working under xcode 8 TEST_HOST error

xcode build xctest xcode-ui-testing osx-server
3个回答
11
投票

因此,在遇到此问题的几年后,我们可以找到正确的复选框来解决此问题。

它听起来很奇怪,但问题是项目设置中命令行构建的配置。

enter image description here

我认为这是因为我们总是测试调试配置并且它被设置为释放。因此它为测试主机做了错误的构建。

这确实将defaultConfigurationName设置在{projectname}.xcodeproject内部。

如果您对此有任何更多见解,请发表评论。


0
投票

在我的应用程序中,我找到了一个解

问题当然是在测试目标中。

我希望这个解决方案对你也有用。转到测试目标构建设置。

搜索测试主机。

在我的情况下,这个testHost看起来像

build/{buildConfigurationName}-iphoneos/{schemeName}.app/{appName}

实际路径必须是错误的

build/{buildConfigurationName}-iphoneos/{schemeName}.app/{schemeName}

因此,如果您的应用程序名为MyApp,并且使用名为MyApp-Alpha的方案,则测试主机路径应为

build/Alpha-iphoneos/MyApp-Alpha.app/MyApp-Alpha

它是

build/Alpha-iphoneos/MyApp-Alpha.app/MyApp

我希望这可以帮助...不幸的是,在许多情况下会出现这个问题。


0
投票

出现此错误的一个原因是您的目标的info.plist不在其路径中。因此,如果您移动它或删除对它的引用,您可能会收到此错误。

所以如果你移动它,把它放回原位或路径。如果删除了对它的引用,请再次添加,关闭并重新打开项目。

© www.soinside.com 2019 - 2024. All rights reserved.