如何在Karma.js中模拟一个函数

时间:2017-12-21 17:05:56

标签: javascript karma-runner karma-jasmine thymeleaf

有人知道如何使用karma.js模拟函数结果吗? 该函数使用由thymeleaf框架(java,spring boot等)给出的var。

function isFlooring() {
    var isMyChoiceOk = [[${mychoice}]];
    if(typeof isMyChoiceOk !== 'undefined') {
        return isMyChoiceOk;
    }
    else {
        return false;
    }
}

我想要做的是告诉karma.js这个函数的结果是TRUE还是FALSE。

1 个答案:

答案 0 :(得分:2)

你可以在函数上创建一个间谍(假设你的函数不是一个对象的一部分),然后用你自己的函数替换它:

spyOn(window, 'isFlooring')
    .and.callFake( function(arguments) {
         // return whatever you want to here
         return true
     }

间谍只是听取了要调用的函数,然后调用了#F;'用你想要的功能取代功能。

如果您的功能是对象的一部分,请替换' window'在' spyOn'使用对象的名称调用。