如何解决摩卡诗浓变化构造函数
测试时构造函数内部有不应该执行的代码。因为我是诗浓的新手,所以我认为我可以做到。我为此准备了下面的示例代码。
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
。
解决方法
如果您想替换构造函数行为,请将其替换为存根,而不是间谍。为此使用 sinon 的 createStubInstance() 方法
const sinon = require('sinon');
const { Person } = require('../Person');
describe('Person',() => {
it('Test1',() => {
const replacedConstructor = sinon.createStubInstance(Person).returns();
new Person();
});
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。