测试时构造函数内部有不应该执行的代码。因为我是诗浓的新手,所以我认为我可以做到。我为此准备了下面的示例代码。
Person.js
class Person {
constructor() {
console.log("From constructor");
}
}
测试库: app.spec.js
const sinon = require('sinon');
const { Person } = require('../Person');
describe('Person', () => {
it('Test1', () => {
const costructorSpy = sinon.spy(Person.prototype, 'constructor');
new Person();
});
});
但我仍然在终端上看到控制台消息 From constructor
。
答案 0 :(得分:0)
如果您想替换构造函数行为,请将其替换为存根,而不是间谍。为此使用 sinon 的 createStubInstance() 方法
const sinon = require('sinon');
const { Person } = require('../Person');
describe('Person', () => {
it('Test1', () => {
const replacedConstructor = sinon.createStubInstance(Person).returns();
new Person();
});
});