【发布时间】:2017-01-29 03:58:48
【问题描述】:
我正在 Amazon Device Farm 上运行 KIF 测试套件。我在提交作业时选择了 XCTest。我观察到一个与从 Xcode 本地运行测试不同的意外运行流程。
KIF 版本是 3.5.1,Xcode 版本是 8.2。
正如我们所知,KIFTestCase 是 XCTestCase 的子类,以添加可用于执行 KIF 测试步骤的设置和拆卸步骤。“beforeAll”和“afterAll”在所有测试之前和之后运行一次,“beforeEach”和“afterEach”在所有测试之前和之后运行一次在每次测试之前和之后运行。 所以我有一个包含 3 个测试用例的测试套件,流程将是:
在所有之前 beforeEach 测试1 afterEach beforeEach 测试2 afterEach beforeEach 测试3 afterEach 毕竟
当我在本地使用 Xcode 或在 Jenkins 上运行测试时,它确实遵循上述流程顺序。 但是,当我将作业提交到 Amazon Device Farm 时,我可以从日志以及它运行的视频中看到它,如下所示:
beforeAll beforeEach test1 afterEach afterAll beforeAll beforeEach 测试2 afterEach afterAll beforeAll beforeEach test3 afterEach afterAll
即每个测试用例完全从 SCRATCH 运行:登录、设置数据库、重新创建准备实例以进行测试;测试;清理和注销。
由于 beforeAll 通常需要大约 1 分钟以上,而每个测试只需要几秒钟,因此这个流程序列使测试运行更加耗时,因此成本高昂。
我想知道是否有人看到同样的事情,这是否是 Amazon Device Farm for XCTest 的预期行为?
【问题讨论】:
标签: amazon-web-services xctest kif