4

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

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

这可能吗?

4

1 回答 1

-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);
    });
  });
});
于 2013-06-04T00:59:55.050 回答