未定义Jasmine 2.0 rc*等待
刚刚从1.3升级到jasmine 2.0 rc5,现在我所有使用未定义Jasmine 2.0 rc*等待,jasmine,Jasmine,刚刚从1.3升级到jasmine 2.0 rc5,现在我所有使用waits()的测试都被破坏了,因为waits()和waitsFor()函数未定义。我似乎在网上的任何地方都找不到这方面的任何引用,有人知道替换wait()的新API是什么吗?嗯,异步调用的用法语法已经改变了。 在其文档中,您可以很容易地看到两个版本之间的差异: 使用waitsFor()和run()函数 据报道,这些功能已从库中删除。但是,Jasmine 2.0为原语beforeach()、afterEach()和it()函数添加了
waits()
的测试都被破坏了,因为waits()
和waitsFor()
函数未定义。我似乎在网上的任何地方都找不到这方面的任何引用,有人知道替换wait()的新API是什么吗?嗯,异步调用的用法语法已经改变了。
在其文档中,您可以很容易地看到两个版本之间的差异:
使用waitsFor()
和run()
函数
据报道,这些功能已从库中删除。但是,Jasmine 2.0为原语beforeach()
、afterEach()
和it()
函数添加了异步支持。传递给这些函数的回调函数现在可以接受一个参数,该参数指示规范是否可以运行
然后,当达到运行测试的必要条件时(只要异步作业完成),只需调用done()
。所有的魔法都会发生;)
从文件中:
describe("Asynchronous specs", function() {
var value;
beforeEach(function(done) {
setTimeout(function() {
value = 0;
done();
}, 1);
});
it("should support async execution of test preparation and expectations", function(done) {
value++;
expect(value).toBeGreaterThan(0);
done();
});
});
上面的
it()
规范将仅在调用setTimeout()
之后运行,因为在那里调用了done()
。注意,it()
回调接受一个参数(done
)。使用jasmine.DEFAULT\u TIMEOUT\u INTERVAL=5000
有关Jasmine文档,请参考以下URL。。。
文档中的“异步支持”部分。Neat,没有看到2.0文档已启动!谢谢你的指点。我必须说一个很好的答案!!因为那件事而有随机错误。非常感谢。