Xcode project scheme is not currently configured for the test action

我正在尝试为我的 iOS 应用程序运行一个 Xcode 单元测试。我愿意在通过 USB 连接到 Mac 的 iPad 上做这件事。我试图从命令行运行测试,以便稍后从 Jenkins 触发它。

Below is what I'm currently typing into the command line and the error I'm getting. Please help.

密码:

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

错误是:

Scheme MyApplication 当前没有为测试操作配置

73310 次浏览

在 Xcode 删除重复的方案后,可在 Xcode 透过 产品-> 计划-> 管理计划加入/删除/分享/编辑这些方案。

对我来说,问题在于我的方案中没有增加任何测试:

Scheme Editor

通过“ +”按钮将测试包添加到我的方案中,那么这个方案就可以由 Xcode 和 xcodebuild 构建。

  • 你应该检查一下 Jenkins 的工作空间数据,看看是哪个 * 。已经上载了 xctest。然后必须将 UI/Unit 测试目标重命名为 * 。Xcode 项目中的 xctest 数据 然后再用力。
  • 或者从 Jenkins 中删除您的工作区,再次用新的 UI/Unit 测试目标推送所有数据。

(Of course you have to ensure that you have already made a scheme for project.)

对于每个与这个问题作斗争的人来说。

我的解决办法是:

  1. Select 测试目标
  2. 管理计划
  3. 在左侧菜单中选择 Run
  4. 在选项卡中选择 Info
  5. 从下拉菜单中选择 可执行目标
  6. 差不多

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

在我的情况下,我没有测试文件..。

这里有一个教程来执行 UI 测试和创建屏幕截图:

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

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

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

  1. 在顶部选择您的项目方案。
  2. 点击 管理计划
  3. Select your test target in the popup.
  4. 确保点击弹出窗口左下角的 剪辑按钮。
  5. 选择 建造
  6. 单击“ Run”下面的复选框
  7. 关闭弹出窗口。
  1. 转到 管理计划
  2. 删除所有方案并单击 自动创建方案

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

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

然后我发现了一些错误: 签署“ Noname-Dependency”需要一个开发团队。

I also so reference to a macosx signing error, which I cannot sadly reproduce having since fixed the issue.

为了解决这个问题,在“目标的签名和能力”下我选择了 没有,然后在“通用”下我没有选择 麦克,因为我们并不需要/使用它,但它是在创建这个新项目(CocoaPod)时默认选择的。

奇怪的是,我重新加入了 Mac,事情仍然在继续。我认为 Xcode 项目文件和/或方案文件有一个奇怪的地方,当您对它进行足够的修改时,事情就会得到重置/修复。

我设置了一个测试计划(xctestplan)。

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

截图如下:

Test Plan

Xcode Scheme test settings

在我的例子中,这个错误间歇性地失败了,原来我有两个同名的方案,而 Xcode 有时候选择了错误的方案,所以请确保您使用 xcodebuild -workspace "MyWorkspace.xcworkspace" -list查看所有方案,并找出是否有重复的名称。