scheme没有为测试操作配置(iOS xcode项目)

时间:2015-05-27 11:51:07

标签: ios xcode unit-testing command-line

我正在尝试为我的iOS应用程序运行Xcode单元测试。我愿意在通过USB连接到mac机器的iPad上进行。我试图从命令行运行测试,以便稍后从Jenkins触发它。 以下是我目前在命令行中键入的内容以及我收到的错误。请帮忙。

代码:

xcodebuild test -scheme MyApplication -destination "platform=iOS,name=iPad"

错误:

  

Scheme MyApplication当前未针对测试操作配置

11 个答案:

答案 0 :(得分:144)

对我来说问题是我的计划没有添加任何测试:

Scheme Editor

通过' +'将测试包添加到我的方案中按钮然后该方案可以由Xcode和xcodebuild构建。

答案 1 :(得分:19)

对于每个都在努力解决这个问题的人。

我的解决方案是:

  1. 选择测试目标
  2. 管理方案
  3. 在左侧菜单中选择运行
  4. 在标签
  5. 中选择信息
  6. 从下拉菜单中选择可执行目标
  7. 点击关闭

答案 2 :(得分:13)

通过从Xcode中删除重复方案来解决此问题。可以通过产品 - >在Xcode中添加/删除/共享/编辑这些方案。方案 - >管理方案

答案 3 :(得分:2)

  • 您应该检查Jenkins上的工作区数据,并查看哪些* .xctest已上传。然后你必须将你的UI / Unit测试目标重命名为你的xcode项目中的* .xctest数据 有詹金斯然后再推。
  • 或者从Jenkins中清除您的工作区,并再次使用新的UI / Unit测试目标再次推送所有数据。

(当然你必须确保你已经为项目制定了计划。)

答案 4 :(得分:1)

请按照以下步骤解决此错误。

  1. 在顶部选择您的项目方案。
  2. 点击管理计划
  3. 在弹出窗口中选择测试目标。
  4. 确保单击弹出窗口左下方的编辑按钮。
  5. 选择构建
  6. 点击“ 运行
  7. 下方的复选框
  8. 关闭弹出窗口。

答案 5 :(得分:0)

我的问题是Tests.swift文件正在导入一个不再存在的模块(我将项目重命名为Targets)。检查并确保所有测试文件都在导入当前现有的模块。

答案 6 :(得分:0)

就我而言,我没有测试文件...

这里是执行UI测试和创建屏幕截图的教程:

https://krausefx.com/blog/run-xcode-7-ui-tests-from-the-command-line

答案 7 :(得分:0)

您的测试计划应至少具有一种自定义配置。

答案 8 :(得分:0)

我遇到了类似的错误,但其他解决方案都没有帮助。由于该错误是在通过 Fastlane 运行时首次发现的,因此我接下来使用此命令手动运行 xcodebuild 以模拟相同的情况。

xcodebuild -workspace Noname.xcworkspace -scheme Noname -enableCodeCoverage YES build-for-testing

然后我看到了以下错误:签署“Noname-Dependency”需要一个开发团队。

我也提到了 macosx 签名错误,我无法遗憾地重现此问题,因为已修复该问题。

为了解决这个问题,在 Signing & Capabilities for the Target 下我选择了 None,然后在 General 下我取消了 Mac,因为我们不需要/使用它但它在创建这个新项目 (CocoaPod) 时默认选中。

奇怪的是,我重新添加了 Mac 并且一切仍然正常。我认为 Xcode 项目文件和/或方案文件有一个奇怪的地方,当你对它进行足够的修补时 - 事情会被重置/修复。

答案 9 :(得分:0)

我制定了一个测试计划 (xctestplan)。

  1. 除了“共享设置”之外,我还需要一个单独的测试配置(测试计划)。
  2. 还请确保测试计划(在 Xcode 方案设置下)包括测试目标和配置。

附上截图:

Test Plan

Xcode Scheme test settings

答案 10 :(得分:-1)

  1. 转到管理方案
  2. 删除所有方案并点击自动创建方案