KIF 也将按字母顺序运行文件本身。所以它会是这样的:
TestFileA
-(void)testA
-(void)testE
-(void)testR
TestFileB
-(void)testB
-(void)testC
-(void)testE
等等
而且您没有问这个问题,但以防万一您需要知道:所有测试都应该独立,以便测试运行的顺序无关紧要。这就是它们按字母顺序运行的原因。因此,例如,每个测试都应该返回到它开始时所在的屏幕,以便下一个测试可以从该屏幕运行。
在我的一个项目中,有一个登录,然后还有标签栏。这就是我设置的方式(这是 sudo 代码,请不要复制和粘贴任何代码):
TestA
-(void)beforeAll{login, & tapTabBarA} <- This happens once
-(void)beforeEach{ } <- Anything in here would happen before every test
-(void)afterEach{tapTabBarA} <- This happens after every test
-(void)afterAll{logout} <- This happens once
-(void)testSomethingA1
-(void)testSomethingA2
TestB
-(void)beforeAll{login, & tapTabBarB}
-(void)beforeEach{ }
-(void)afterEach{tapTabBarB}
-(void)afterAll{logout}
-(void)testSomethingB1
-(void)testSomethingB2
这样,如果 testSomethingA1 失败,testSomethingA2 将能够运行,因为它是从正确的视图(在本例中为 TabBarA 的根视图)开始的。同样,如果 TestA 失败,TestB 仍然会运行,因为即使失败,第二次运行也会从正确的位置开始(在这种情况下是登录视图控制器)。希望这可以帮助!