Sinon 间谍行为不符合预期
Sinon spy not behaving as expected
我在 utilityService.js
中有两个函数 foo 和 bar
export function foo() {
return bar();
}
export function bar() {
return 1;
}
在我的测试文件中,我导入了 utilityService.js 并监视了 bar 函数。
我希望间谍的 callCount 为 1,因为 foo 被调用,但它是 0。如果我遗漏了什么,请提出建议。
import * as utilityService from '../services/utility-service';
let callSpy = sinon.spy(utilityService, 'bar');
expect(utilityService.foo()).to.equal(1);
expect(callSpy.callCount).to.equal(1);
sinon.spy(object, "method") creates a spy for object.method and replaces the original method with the spy.
import
创建一个名为 utilityService
的对象,它引用 foo
和 bar
。 Sinon
将 utilityService.bar()
替换为它自己的函数。但是foo
不调用utilityService.bar()
,而是bar()
直接调用。所以调用不会通过 Sinon
的替换函数。
我希望清楚。
我在 utilityService.js
中有两个函数 foo 和 barexport function foo() {
return bar();
}
export function bar() {
return 1;
}
在我的测试文件中,我导入了 utilityService.js 并监视了 bar 函数。 我希望间谍的 callCount 为 1,因为 foo 被调用,但它是 0。如果我遗漏了什么,请提出建议。
import * as utilityService from '../services/utility-service';
let callSpy = sinon.spy(utilityService, 'bar');
expect(utilityService.foo()).to.equal(1);
expect(callSpy.callCount).to.equal(1);
sinon.spy(object, "method") creates a spy for object.method and replaces the original method with the spy.
import
创建一个名为 utilityService
的对象,它引用 foo
和 bar
。 Sinon
将 utilityService.bar()
替换为它自己的函数。但是foo
不调用utilityService.bar()
,而是bar()
直接调用。所以调用不会通过 Sinon
的替换函数。
我希望清楚。