gpt4 book ai didi

javascript - 使用 sinon spies 验证函数调用并检查参数

转载 作者:行者123 更新时间:2023-12-03 02:42:36 34 4
gpt4 key购买 nike

我想验证我的单元测试中是否在 foo() 内部调用了 bar()

我认为Sinon spies可能适合,但我不知道如何使用它们。

有什么方法可以检查该方法是否被调用吗?也许甚至提取 bar() 调用中使用的参数?

var spy = sinon.spy(foo);

function foo(){
bar(1,2,3);
}

function bar(){ }

foo();

// what to do with the spy?

http://jsfiddle.net/8by9jg07/

最佳答案

就您而言,您正在尝试查看 bar 是否被调用,因此您想要监视 bar 而不是 foo

doc 中所述:

function bar(x,y) {
console.debug(x, y);
}
function foo(z) {
bar(z, z+1);
}
// Spy on the function "bar" of the global object.
var spy = sinon.spy(window, "bar");

// Now, the "bar" function has been replaced by a "Spy" object
// (so this is not necessarily what you want to do)

foo(1);

bar.getCall(0).args => should be [1,2]

现在,监视函数的内部结构会将您对“foo”的测试与其实现紧密结合起来,因此您将陷入通常的 "mockist vs classical" 的境地。辩论。

关于javascript - 使用 sinon spies 验证函数调用并检查参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29800733/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com