无法确定xxxTest TEST_HOST的包标识符

时间:2016-10-04 08:56:04

标签: xcode build xctest xcode-ui-testing osx-server

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

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

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

我们的项目有以下目标:

  • 应用
  • 应用程序单元测试
  • App UI测试
  • AppeareanceKit(模块)
  • AppeareanceKit单元测试
  • 模型(模块)
  • 模型单元测试

找到解决方案:

  1. 在App UITest
  2. 之外的Diastling测试
  3. 运行测试一次
  4. 启用所有测试
  5. 运行测试
  6. 问题:

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

    已知问题:

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

    Tests stop working under xcode 8 TEST_HOST error

3 个答案:

答案 0 :(得分:11)

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

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

enter image description here

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

这会将defaultConfigurationName设置为{projectname}.xcodeproject

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

答案 1 :(得分:0)

在我的应用程序中,我找到了解决方案。

问题当然是测试目标。

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

搜索测试主机。

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

Customer

哪个错误,因为实际路径必须

setCompanyAttribute

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

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

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

我希望这可以有所帮助......遗憾的是,在许多情况下会出现此问题。

答案 2 :(得分:0)

就我而言,问题是测试文件夹具有自己的info.plist文件。我删除了对它的引用,关闭并重新打开了工作区,瞧。