什么叫做'做了什么'在异步测试的上下文中做什么?

时间:2015-09-23 01:36:54

标签: javascript asynchronous requirejs jasmine

Louis' answer中,有以下代码:

describe("ModuleName", function() {
    var mod;

    beforeAll(function (done) {
        // This loads your module and saves it in `mod`.
        require(['../js/app/ModuleName'], function(mod_) {
            mod = _mod;
            done();
        });
    });

    it("exists", function(){
        expect(mod).toBeDefined();
        expect(mod.init).toBeDefined();
    });
});

他们将一个函数done()传递给混合。他们为什么要用这个?

2 个答案:

答案 0 :(得分:2)

因此,当您执行异步操作时,例如调用require(),您可以在完成后发出信号。否则,测试框架将无法知道您何时完成了异步操作。

答案 1 :(得分:1)

done()的目的是在异步操作完成时向测试框架指示。