Cocoa Komittee - 纽约市

应该避免重复自己。纽约市是我们去年开始举办Cocoa Kuchas的地方,虽然这里还有很多故事可以讲,但现在是继续前进的时候了。

这个月,我们将举办一个关于 iOS 测试的小组讨论。在里面了解更多信息。

Komittee 是一个活动,我们将邀请一些有强烈意见的人,让他们开始讨论一个有争议的话题,看看我们是否能从这个过程中学到一些东西。测试通常是一个热门话题。将它与一个紧密的平台、封闭的工具结合起来,你就会得到很多火焰。

详情

我们很荣幸地得到 Spotify 在其纽约市总部的热情款待,活动时间为 2 月 25 日晚上 7 点。

主题

  • QA 与自动化单元测试
  • 测试代码单元与测试行为
  • Obj-C 实现策略与其他生态系统
  • 时间管理
  • 为每个人改进测试的方法

小组讨论

聚会页面

此处

展示说明

Landon Fuller

  • 单元测试

    OCUnit 用于支持 iOS 6 及更低版本和 Mac OS X 10.7 及更低版本的项目

    XCTest 用于支持 iOS 7 及更高版本和 Mac OS X 10.8 及更高版本的项目

  • 持续集成

    Jenkins:http://jenkins-ci.org/

    Confluence:https://www.atlassian.com/software/bamboo/

Paul Young

  • 框架

    Specta

    Expecta - https://github.com/specta/expecta

  • OCMockito - https://github.com/jonreid/OCMockito

    我曾经使用 OCMock,但遇到了麻烦,因为

    它通过引发异常来报告测试失败(不够有用,输出奇怪,无法点击并转到测试失败)。Klaas 在他链接的文章中提到了这一点。

    当你调用 `stopMocking` 时,不会清除期望,这意味着你无法使用设置步骤/beforeEach 块来使你的规范保持 DRY。“部分”模拟允许我模拟受测对象的一部分,这似乎是错误的。OCMockito 不允许这样做。

  • 工具

    Rake - 类似于 AFNetworking https://github.com/AFNetworking/AFNetworking/blob/master/Rakefile

    XCTool - 尽管目前存在问题:https://github.com/facebook/xctool/issues/314

    Travis - 按照这篇文章:http://www.objc.io/issue-6/travis-ci.html,但有一些需要注意的地方

    Travis 开发人员忘记将 CocoaPods 添加到 VM,因此你必须在 before_script 阶段安装 gem。它可以工作,但会使构建花费更长时间。你可以通过不安装 gem 的文档来加快速度。https://github.com/travis-ci/travis-ci/issues/1657

    Travis 开发人员忘记设置一些环境变量:https://github.com/travis-ci/travis-ci/issues/1769

    Hockey - http://hockeyapp.net/features/ - 这些应用相当不错:http://hockeyapp.net/apps/

    我按照 objc.io 文章在构建在 master 中成功后从 Travis 推送到 Hockey。考虑看看 Matt Thompson 的 Shenzhen(https://github.com/nomad/shenzhen)是否是一个更好的长期解决方案。

Klaas Pieter Annema

我使用 Specta、Expecta 和 OCMockito。我还一直在使用 Barista 进行集成测试。所有内容都在 Travis 上自动运行。我使用的工具:Cocoapods、Bundler(因此我每个项目都可以有特定的 Cocoapoads 版本)、Rake 和 xctool。