重新运行单元测试失败 - Xcode XCTest

时间:2016-03-18 16:53:39

标签: xcode xctest xcode-ui-testing

当我运行我的XCTests时,我想自动重新运行一次任何失败的集成(单元/ ui)测试。这可能吗?

这可以在同一个测试中完成,而不必点击“运行”。再次进行我的测试或测试的任何部分。我从命令行运行所有测试。

我正在进行使用网络调用服务器的UI测试。如果存在严重的服务器问题,则测试将/应该失败并报告错误。但是,如果它只是请求的临时问题,那么自动重新运行测试并查看它是否通过将会很好。此外,对于Xcode UI测试的当前状态,有一些偶然的问题,它会因为一个不明原因而崩溃,并且自动重新运行测试以查看它是否第二次通过将会很好。

如果它可以输出发生的事情,那将是特别好的,即&#34;测试失败第一次,因为失败获得刷新快照,但是第二次传递&#34; < / p>

2 个答案:

答案 0 :(得分:1)

Fastlane可以在这里发布关于相同

的精彩博文

Stabilizing the CI By Re-runing Flaky iOS XCUI Tests

答案 1 :(得分:1)

无需快速通道并重新运行细粒度测试即可完成的任务列表

  • 创建一个脚本来重新运行测试并捕获失败的测试列表,然后使用xcodebuild的-only-testing:TEST-IDENTIFIER标志重新运行测试。
  • 解析resultBundle或.xcresult来查找失败的测试
  • 编写代码以擦除执行测试的设备或模拟器
  • 如果是真正的设备,请重启设备,以清除所有可能的对话框
  • 使用XCAttachment收集您关心的事情,例如应用程序日志
  • 使用xchtmlreport从包含快照和附件的结果包中生成一个漂亮的网页。