【问题标题】:Running unit-tests each time the target that they are testing compiled每次编译他们正在测试的目标时运行单元测试
【发布时间】:2020-01-06 13:21:56
【问题描述】:

我有一个 Xcode 项目,它有一个可测试的目标和对其进行测试的单元测试目标。 现在我可以选择单元测试目标并运行测试。 我希望每次(之后)编译可测试目标时测试都会自动运行。有可能吗?

【问题讨论】:

  • 您的意思是在每次构建主目标后,您希望在可测试目标中运行所有单元测试?
  • @Alex.Pinhasov 是的先生
  • 我下面的回答对你没有帮助?如果是这样,如果您能将其标记为正确答案,我将不胜感激,谢谢!

标签: swift xcode unit-testing target


【解决方案1】:

将单元测试目标添加到方案中 Apple Documentation

在将单元测试目标添加到方案之前,请确保您的项目 如果为单元测试正确配置。请参阅设置单元测试 在一个项目中学习如何。

将单元测试目标添加到方案中:

  1. 从“方案”工具栏菜单中,选择要使用的方案 添加单元测试目标。

  2. 从同一菜单中,选择编辑方案。

  3. 选择测试操作。

  4. 在“测试操作信息”窗格中,单击“添加”按钮。

  5. 选择要添加到测试操作的单元测试目标,然后

【讨论】:

    【解决方案2】:

    好吧,在做了一些研究之后,这就是我想出来的:

    1) 有可能。

    2) 它会延长构建时间,因此不推荐。

    3) 出于某种原因,它需要我切换回“旧版构建系统”。

    如何切换到“旧版构建系统”:

    文件 -> 工作区设置 -> 构建系统

    4) 如果您的产品方案和测试方案之间存在依赖关系,请务必将其删除。

    如何使其工作:

    根据文档https://developer.apple.com/library/archive/technotes/tn2339/_index.html,您可以使用“xcodebuild”并添加“运行脚本”来构建测试方案。

    要添加脚本,请转到您的项目设置 -> 构建阶段 -> “+” -> 粘贴下面的代码并将“myWorkspace”更改为您的工作区名称,将“myWorkspaceTests”更改为您的测试方案名称

    echo "Unit-Test are about to start: ? Started running myTests ?"
    
    xcodebuild test -workspace <myWorkspace>.xcworkspace -scheme '<myWorkspaceTests>' -destination 'platform=iOS Simulator,name=iPhone X,OS=11.4'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-27
      • 2012-11-28
      • 2011-07-08
      • 1970-01-01
      • 2020-10-14
      • 2011-11-04
      • 1970-01-01
      相关资源
      最近更新 更多