Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Xcode UI测试-当测试套件中的任何给定测试失败时停止测试?_Ios_Swift_Xcode_Xcode Ui Testing - Fatal编程技术网

Ios Xcode UI测试-当测试套件中的任何给定测试失败时停止测试?

Ios Xcode UI测试-当测试套件中的任何给定测试失败时停止测试?,ios,swift,xcode,xcode-ui-testing,Ios,Swift,Xcode,Xcode Ui Testing,我希望以这样的方式运行UI测试:如果测试套件中的任何给定测试失败,整个测试运行都将停止。我知道有一个选项可以在失败后继续,但这只适用于单个测试用例 我计划在CI服务器(如Teamcity)上运行UI测试,当然,如果任何测试失败,我希望构建过程失败,而不必等待其余测试完成。是否有人知道这是否可能,或者我是否需要以某种方式解析每个测试用例的输出以检测失败并在该点停止,可能需要一些退出代码 谢谢。我认为没有任何方法可以在本地实现这一点。您可能需要重新考虑如何编写UI测试,因为您不必这样做。也就是说,你

我希望以这样的方式运行UI测试:如果测试套件中的任何给定测试失败,整个测试运行都将停止。我知道有一个选项可以在失败后继续,但这只适用于单个测试用例

我计划在CI服务器(如Teamcity)上运行UI测试,当然,如果任何测试失败,我希望构建过程失败,而不必等待其余测试完成。是否有人知道这是否可能,或者我是否需要以某种方式解析每个测试用例的输出以检测失败并在该点停止,可能需要一些退出代码


谢谢。

我认为没有任何方法可以在本地实现这一点。您可能需要重新考虑如何编写UI测试,因为您不必这样做。也就是说,你可以做一些事情;这可能有点像黑客

创建一个布尔标志,如
lastTestPassed
。当断言为true时,将标志设置为true。然后,在
setUp
方法中,检查
lastTestPassed
是否为真。如果是,则将其设置为false;如果不是,则不允许运行测试(可能使用
XCTFail()


同样,这是一个小技巧,但在重构UI测试的工作方式之前可能会起作用。

我真的建议您使用
fastlane
。您可以在那里配置测试,因为
fastlane
有一个名为
stop\u after\u first\u error
的特殊标志,它基本上完成了您想要的任务

你可以在这里找到它:
第一次出错后停止
用于
快照
扫描