是否有任何已知方法可以影响XCUITest调用测试方法的顺序?目前,以哪种顺序调用哪种测试方法似乎是完全任意的。
这使得无法定义特定的顺序。一般来说,Xcode 管理 XCUITest 运行的方式是次优的,因为您必须为每个测试用例定义一个测试函数。最好只从一种方法启动一个完整的测试会话,以便可以在例如会话:功能:场景中构建自己的测试。
...这正是我想要做的,因为我们遵循 Calabash 风格的测试结构,而我围绕 XCUITest 编写的框架提供了许多附加功能(例如 Testrail 集成)。
我试图以这样一种方式来实现框架,即所有功能和场景都是从一个test()
方法组织和开始的。如果 Xcode 允许,这将起作用,但事实证明在每个场景之间终止和启动应用程序是有问题的,因为它会导致主线程停止甚至崩溃。因此,我为我们的框架添加了支持,以使用老式的 Xcode 方式为每个测试定义一个方法,但顺序被 Xcode 弄乱了,这弄乱了 Testrail 的日志和报告的生成。