我正在使用 Angular 的场景对我的应用程序进行端到端测试。我想根据需要一些时间加载的元素运行测试。我可以只使用一个sleep()
命令,但我宁愿做类似的事情:
whenLoaded('p .foo')
.then(function(elem) { expect(elem.text()).toBe(something); });
这可能吗?
我正在使用 Angular 的场景对我的应用程序进行端到端测试。我想根据需要一些时间加载的元素运行测试。我可以只使用一个sleep()
命令,但我宁愿做类似的事情:
whenLoaded('p .foo')
.then(function(elem) { expect(elem.text()).toBe(something); });
这可能吗?
Jasmine.js 也可以让你这样做。查找异步规范。
http://pivotal.github.io/jasmine/
describe("Asynchronous specs", function() {
var value, flag;
it("should support async execution of test preparation and exepectations", function() {
runs(function() {
flag = false;
value = 0;
setTimeout(function() {
flag = true;
}, 500);
});
waitsFor(function() {
value++;
return flag;
}, "The Value should be incremented", 750);
runs(function() {
expect(value).toBeGreaterThan(0);
});
});
});