如何在单元测试中检查是否调用了jQuery可链接函数

时间:2016-10-31 19:41:22

标签: javascript jquery unit-testing mocha sinon

如何在单元测试中检查jQuery可链接函数。例如,以下代码

Path: <path to python.exe>
Arguments: <path to your python file>

如果调用removeClass和addClass并且具有正确的值,如何测试。我正在使用sinon来存根,但我发现了一个错误。

1 个答案:

答案 0 :(得分:0)

正如您在此blog post中所看到的,这可以通过使用两个存根调用if returns属性来实现。

在这种情况下

function myFunction() {
    var elem = $('#id').removeClass('someClass').addClass('anotherClass');
    return elem;
}

并在此测试中心

it('your test case', function(done) {
    var jQueryFunctions = {
        addClass: function(params) {
            assert.equals(params, 'your assertion');
        },
        removeClass: function() {}
    };

    sinon.stub(jQueryFunctions, 'addClass').returns(jQueryFunctions);
    sinon.stub(jQueryFunctions, 'addClass').returns(jQueryFunctions);

    sinon.stub(window, '$').returns(jQueryFunctions);    
});

这很简单,很容易。