gpt4 book ai didi

javascript - Sinon spy 期望嵌套函数中的函数调用

转载 作者:行者123 更新时间:2023-11-28 20:52:25 26 4
gpt4 key购买 nike

如何使用 Sinon spy 检查导入的类函数是否从当前类的函数中调用?我正在尝试对导入的类函数调用 .calledOnce 方法,但前提是它是在其函数容器中调用的。

示例如下:

<!-- language: lang-js -->
// foo.js
class foo {
static fooFn() {

}
}

// bar.js
import foo from 'foo';

class bar {
barFn() {
foo.fooFn()
}
}

// barTest.js
import { expect, assert } from 'chai';
import sinon from 'sinon';
import bar from 'bar';

describe('barTest', () => {
beforeEach(function beforeCallback() {
this.fooSpy = sinon.spy(foo, 'fooFn');
});

it('calls foo once', () => {
bar.barFn();
expect(foo.fooFn).calledOnce;
});
});

在上面的例子中,我可以全局侦测到 fooFn 被调用了一次。但是,我想通过检查是否在 barFn 中调用了 foo.fooFn 来加强预期。

最佳答案

您可以使用 arguments.caller 例如验证调用函数

expect(arguments.caller).equal(bar.barFun);

关于javascript - Sinon spy 期望嵌套函数中的函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41005326/

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