gpt4 book ai didi

ios - 用于 ios 自动化测试的 KIF - 如何知道测试顺序

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:57:56 24 4
gpt4 key购买 nike

KIF 测试按字母顺序执行,但如果我有多个文件怎么办?我想按一个顺序运行所有自动化测试,可以吗?

在单个文件中,这是正确的:

  - (void)testB {} will be the second test

- (void)testA {} will be the first test

- (void)testC {} will be the third test

但是,假设我有 MainScreenTest.m,然后是 SecondScreenTest.m,然后是 ThirdScreenTest.m,然后我运行了整个测试套件。我怎么知道哪个会先运行?我试过只运行一个文件,但可以同时运行多个文件吗?

最佳答案

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 将能够运行,因为它是从正确的 View (在本例中是 TabBarA 的 Root View )开始的。同样,如果 TestA 失败,TestB 仍将运行,因为即使再次失败,第二次运行也会从正确的位置开始(在本例中是登录 View Controller )。希望这对您有所帮助!

关于ios - 用于 ios 自动化测试的 KIF - 如何知道测试顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32409059/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com