【问题标题】:iOS unit testing on a Mac running Mountain Lion (OS X 10.8.5)在运行 Mountain Lion (OS X 10.8.5) 的 Mac 上进行 iOS 单元测试
【发布时间】:2014-07-22 04:38:47
【问题描述】:

我有一个来自较旧 Xcode (4.6.3) 的 iOS 项目,默认情况下不包含测试目标,因为最新 Xcode 版本中的项目似乎包含。我现在有 Xcode 5.1.1。在运行 OS X 10.8.5 的 Mac 上。我已经阅读了 this Apple's document 关于 Xcode 中单元测试的内容,但看起来您需要 OS X Mavericks,至少在安装和配置 OS X Server 时,不是吗?

如果我没有 OS X Maveriks,我希望能够遵循一些准则来向我的项目添加测试目标,以及如何将测试流程集成到我的工作流程中。

提前致谢

编辑:在应用程序的正常运行中是否有运行测试?我的意思是,我需要测试一些涉及在特定时间更新数据的案例,以及在数据更新后更新某些参数和 GUI……我该怎么做?谢谢

【问题讨论】:

    标签: ios xcode unit-testing testing osx-mountain-lion


    【解决方案1】:

    你是否将 NSLog/stderr 重定向到任何地方?

    我也遇到了这个问题,没有红色标记并且'1 == 1'的测试失败。

    我的应用程序正在捕获对文件的 NSLog 调用,而不是让系统获取它们。一旦我禁用日志重定向freopen(filepath, "a", stderr) 测试开始通过并且出现绿色检查和红色叉号。

    我为通过闪电端口连接的外部附件设备执行此操作,但无法将日志发送到 mac。您提到了在您的应用程序正常运行期间如何运行测试,所以我认为您可能已经保存了日志,以便您可以从您的 mac 中读取它们。

    【讨论】:

      【解决方案2】:

      如果您希望使用 Apple 的持续集成服务器 Xcode 服务,则需要 Mavricks。你不需要 Mavricks 来运行单元测试,但是你会错过漂亮的 in-xcode 报告。

      如果没有 Mavericks,您可以按 CMD+U 或转到 Product->Test 手动运行单元测试。

      您还可以设置自己的持续集成服务和run the unit tests with a command line 脚本。您必须选择一个 CI 服务器,比如 Jenkins 或许多替代品,然后查找该系统的操作指南。

      【讨论】:

      • 谢谢。我已经在我的项目中添加了一个测试目标,并且我已经运行了测试示例......我收到一个 Xcode 的弹出窗口,说测试失败,但是我在测试导航器中没有看到任何红色标记,正如我在Apple 的 Test Navigator 帮助文档的截图……这也是因为我没有 OS X Server 吗?
      • 这可能意味着测试在实际运行之前就失败了。再次运行测试并切换到日志导航器以查看它们是如何失败的。
      猜你喜欢
      • 1970-01-01
      • 2013-02-12
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-15
      • 1970-01-01
      相关资源
      最近更新 更多