【问题标题】:Unable To Run Unit Tests in Xcode 11: The run destination * is not valid for tests you have chosen to perform无法在 Xcode 11 中运行单元测试:运行目标 * 对您选择执行的测试无效
【发布时间】:2020-01-24 12:01:02
【问题描述】:

在我从 Xcode 10.3 更新到 Xcode 11 之前,可以肯定我的测试运行良好。现在,当我尝试运行测试时,出现以下错误。

运行目标 iPhone 5s 对您选择执行的测试无效。 请选择支持您希望执行的测试的运行目标。

作为一个实验,我尝试创建一个全新的测试目标并运行它为您提供的示例测试,并且错误是相同的。我也尝试过不同的模拟器。

【问题讨论】:

  • 您的部署目标是 iOS 13 吗?您尝试过的最新模拟器是什么?
  • 这就是解决方案。如果我尝试使用 iPhone 11 模拟器,它就可以工作。谢谢。
  • 伙计们,我已经尝试了带有 iOS 13.1 和 Xcode 11.1 和 iPhone 5s 的 iPhone 11,但对我来说没有任何效果。有任何想法吗? @N布朗
  • 我有同样的问题
  • 杜克彭的解决方案对我有用,虽然在降低我的测试目标的部署目标之前,我发现“command + U”似乎工作,即使单击测试旁边的圆圈抱怨“运行目标iPhone 5s 对您选择执行的测试无效。”。 #奇怪

标签: ios xcode xctest xcode11 xctestcase


【解决方案1】:

检查您的目标:(测试目标)-> 构建设置-> 部署-> iOS
部署目标:选择较低的iOS版本 例如:iOS 10.0

这将解决您的问题。

【讨论】:

  • 谢谢,这解决了我将部署目标从 iOS 13 更改为 iOS 12 后的问题。
  • 这对我有用,但不知道这背后的原因是什么。我用 iOS 13.0 作为最低支持版本创建了这个项目。然后降到 12.0 。我更新单元的那一刻测试目标为 12.0,部分测试文件无法运行。
【解决方案2】:

对我来说,我的测试目标的构建设置中的目标设备系列仅适用于 iPad,而目标设备系列对于应用程序目标来说是通用的。

我必须将我的测试目标的 Targeted Device Family 更改为 Universal,以匹配应用程序的 Targeted Device Family。

原来是:

我不得不改成:

【讨论】:

  • 完美,也为我修好了。
【解决方案3】:

如果您使用 Xcode 11(我的是 Xcode 11.2.1)创建新项目,则默认 iOS 部署目标设置为 iOS 13。这会阻止您在低于 13 的 iOS 设备上运行应用程序,并且需要您修改部署目标(比如 iOS 12 以支持这些设备)。

以上更改可以通过点击项目->目标->“APP TARGET”->常规来完成。但是,单元测试目标也有一个 iOS 部署目标,它没有显示在 General 选项卡中。这可以在构建设置中看到(项目 -> 目标 -> “UNIT TEST TARGET” -> 构建设置并在搜索框中输入“部署目标”)。请参阅@Chris Livdahl 的回答。这也必须更改(理想情况下与应用程序的目标版本相同)才能解决问题。

【讨论】:

    【解决方案4】:

    尝试不同的模拟器,

    对我来说,它通过切换到我连接的设备,运行测试,而不是切换回模拟器来解决。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-23
      • 2018-08-08
      • 1970-01-01
      • 1970-01-01
      • 2014-11-16
      • 1970-01-01
      • 1970-01-01
      • 2012-07-26
      相关资源
      最近更新 更多