在Angular的场景运行器中等待元素加载

时间:2012-10-31 19:07:13

标签: angularjs

我正在使用Angular的方案对我的应用程序进行端到端测试。我想基于需要一些时间加载的元素来运行测试。我可以使用sleep()命令,但我宁愿做类似的事情:

whenLoaded('p .foo')
    .then(function(elem) { expect(elem.text()).toBe(something); });

这可能吗?

1 个答案:

答案 0 :(得分:-1)

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);
    });
  });
});