如何使用 jasmine 对 document.ready() 函数进行单元测试

How to unit test a document.ready() function using jasmine

如何使用 Jasmine 测试 document.ready 块? 更具体地说,如果我有这样的块:

$(document).ready(
    function () {
        abc = true;
    }
});

如何使用 Jasmine 测试在文档准备好时调用了内部函数?

How do you test document.ready block using Jasmine? To be more specific , > if I have a block like this :

$(document).ready( function(){ abc= true; } );

我的理解是您在上面的 $(document).ready 闭包中编写的代码不可测试。 link 很好地解释了如何使其更易于测试:http://bittersweetryan.github.io/jasmine-presentation/#slide-17

How do you test that the inner function was called when the document was ready, using Jasmine?

m59 已经在评论中回答了上面的问题。

您可以将代码重构为如下所示:

var onReady = function(){
    abc = true;
}

$(document).ready(onReady);

和你的测试:

it("Tests abc", function() {
    onReady() ;
    expect(tesabctVar).toEqual(true);
});