未定义Jasmine 2.0 rc*等待

未定义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()函数添加了

刚刚从1.3升级到jasmine 2.0 rc5,现在我所有使用
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文档已启动!谢谢你的指点。我必须说一个很好的答案!!因为那件事而有随机错误。非常感谢。