【发布时间】:2016-07-05 12:59:51
【问题描述】:
当我运行 XCTests 时,我想自动重新运行一次失败的任何集成(单元/ui)测试。这可能吗?
这将在同一个测试中完成,而不必在我的测试或我的测试的任何部分再次点击“运行”。我正在从命令行运行我的所有测试。
我正在做使用网络调用服务器的 UI 测试。如果存在严重的服务器问题,测试将/应该失败并报告错误。但是,如果只是请求的临时问题,最好自动重新运行测试并查看它是否通过。此外,在 Xcode UI 测试的当前状态下,偶尔会出现一些问题,即它会由于不明原因而崩溃,最好自动重新运行测试以查看它是否通过了第二次。
如果它可以输出发生的事情就特别好,即“测试第一次失败,因为刷新快照失败,但第二次通过了”
【问题讨论】:
-
问题是您不应该依赖网络调用进行测试。您可以使用
NSURLProtocol子类或使用OHTTPStubs之类的东西来存根这些网络请求,否则您需要编写一个脚本来运行您的测试、查找错误并尝试重新运行这些测试。 -
如果 OP 正在使用真实用户和数据编写集成测试,则这是不可能的。
标签: xcode xctest xcode-ui-testing