Jasmine 2.0 rc*等待没有定义

sil*_*min 10 jasmine

刚刚升级到茉莉2.0 RC51.3和现在使用的所有我的测试中waits()被打破,因为waits()waitsFor()功能是不确定的.我似乎无法在网上任何地方找到任何引用,是否有人知道什么是替换wait()的新API?

Alm*_*lho 14

好吧,异步调用的使用语法发生了变化.您可以在其文档中轻松查看两个版本之间的差异:

Jasmine 1.3异步支持使用waitsFor()run()功能.

根据Jasmine 2.0异步支持,这些功能已从库中消失.然而,茉莉2.0添加到原始异步支持beforeEach(),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();
    });
});
Run Code Online (Sandbox Code Playgroud)

it()上面的规范将仅在setTimeout()调用之后运行,因为done()在那里调用.请注意,it()回调接受一个参数(done).