【问题标题】:"Test After Build" option in XCode 4 not workingXCode 4 中的“构建后测试”选项不起作用
【发布时间】:2011-07-16 22:05:24
【问题描述】:

所以,我很想弄清楚这个问题。我环顾四周,似乎找不到任何关于此的信息。

我想做的是每次在 XCode 中构建我的代码时都运行我的单元测试。我已经阅读了许多帖子,包括 this question 这里。我已完全按照说明进行操作,构建不会运行测试。

我做了什么:

  • 我的测试套件是我主要构建的目标依赖项
  • 我的主构建将“构建后测试”设置为是
  • Scheme中“测试”阶段下的所有测试都在那里,并且被检查过

如果我手动运行测试 - 通过 cmd+U 或菜单 - 测试运行。我添加了一个失败的测试来尝试强制构建失败 - 所以我可以确定它们正在运行。构建继续正常通过,并且测试永远不会运行。

我很肯定我在这里错过了一步,但在我的一生中,我找不到任何与之相关的文档。有人有任何其他建议或我应该采取的步骤吗?

【问题讨论】:

  • 您是否在主要目标的架构设置的“测试”部分添加了“测试目标”?为此,请编辑主要目标架构,单击左侧面板中的“测试”部分,然后在右侧面板中添加您的测试目标。然后从左侧面板转到“构建”部分,在右侧部分中,为您的测试目标检查“运行”。希望对你有帮助!
  • @Learner 是的,我已经这样做了。似乎这是我正在运行的 XCode 版本的问题 - 以及我发现的其他一些崩溃错误等。我希望他们能发布 Snow Leopard 的更新。
  • @Learner 的评论对我有用,我注意到我没有将我的测试项目设置为在主要目标的构建方案设置中运行。
  • 在这里查看我的答案 > stackoverflow.com/questions/6673333/…
  • @BrianWigginton 这很有趣 - 我做了所有这些。我认为 xCode 4 中存在一个错误,该错误被该项目配置中的一些时髦的东西暴露出来。那好吧。我会在未来的某个时候尝试另一个项目。

标签: objective-c unit-testing xcode4


【解决方案1】:

Something.app 目标中的“Test After Build”是否设置为 yes 或 no 都没有关系。只需在单元测试目标中将“Test After Build”设置为YES即可。还要确保在“构建”选项卡选项下的方案编辑器中为您的单元测试目标选择了“测试”和“运行”。要查看结果,请单击 Log Navigator View > Navigator > Show Log Navigator(命令 7)。

【讨论】:

  • 我认为这应该是公认的答案。这是我第一次看到这个问题的各种形式来解决问题,没有很多额外的“巫毒”步骤,这些步骤实际上并不是解决方案的一部分。谢谢,@Jared!
【解决方案2】:

在您的主要目标的构建阶段中,添加一个新的运行脚本构建阶段。脚本的内容应该是:

"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests"

这将运行测试 - 但前提是它可以找到您的项目生成的 .octest 文件。 RunUnitTests 希望 PRODUCT_NAME 成为您的单元测试的名称,而 WRAPPER_EXTENSION 是 .octest(这些是 Xcode 变量)。如果您的主要目标是一个将您的测试和您的应用作为依赖项的聚合目标,您可能可以考虑到这一点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-25
    • 2020-07-08
    • 2011-03-20
    • 1970-01-01
    • 1970-01-01
    • 2012-10-30
    • 1970-01-01
    相关资源
    最近更新 更多