如何在 Karma.js 中模拟函数

How to mock a function in Karma.js

有人知道如何用 karma.js 模拟函数结果吗? 该函数使用 thymeleaf 框架提供的 var(java、spring 引导等)。

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

我想做的是告诉karma.js这个函数的结果是真还是假。

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

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

间谍只是监听要调用的函数,然后 'callFake' 将功能替换为您想要的功能。

如果您的函数是对象的一部分,请将 'spyOn' 调用中的 'window' 替换为对象的名称。