gpt4 book ai didi

angularjs - 强制 Protractor 等待种子数据加载

转载 作者:搜寻专家 更新时间:2023-11-01 00:40:53 24 4
gpt4 key购买 nike

我必须为我的测试加载一些种子数据。在测试开始运行之前,我很难确保种子数据已完全加载。

在 beforeAll block 中,我调用了我为我的 API 编写的适配器,该适配器清除所有数据,加载指定的种子数据文件,然后运行从 Protractor 测试文件传入的回调。

我不能在回调中包含测试用例(这似乎是一个与重构 promise 类似的阻塞问题)或者 Protractor 无法识别它们。

谁能建议我在测试开始前确保我的 API 已成功播种的方法?

谢谢!

最佳答案

如果您使用 Protractor 的 Jasmine 2.1 或更高版本,您可以使用 done()在您的 beforeAll 中运行。

因此,如果您有一个名为 seedMyDataAsync() 的函数,它将回调函数作为参数,您可以执行如下简单的操作:

beforeAll( function(done) {
seedMyDataAsync(done);
});

done() 函数是在 Jasmine 2.0 中引入的,但直到 Jasmine 2.1 才可用于 beforeAll()

来自文档:

Calls to beforeAll, afterAll, beforeEach, afterEach, and it can take an optional single argument that should be called when the async work is complete.

By default jasmine will wait for 5 seconds for an asynchronous spec to finish before causing a timeout failure. If the timeout expires before done is called, the current spec will be marked as failed and suite execution will continue as if done was called.

关于angularjs - 强制 Protractor 等待种子数据加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34887086/

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