Я пытаюсь использовать Sinon.js, чтобы заглушить конструктор модели моей модели Student
Mongoose.Как заглушить конструктор модели Mongoose
var Student = require('../models/student');
var student = new Student({ name: 'test student' }); // I want to stub this constructor
Глядя на исходном коде Mongoose, Model наследует свой прототип из Document, который вызывает функцию Document
, так это то, что я пытался, чтобы STUB конструктора. Тем не менее, мой заглушка никогда не называется.
sinon.stub(Student.prototype__proto__, 'constructor',() => {
console.log('This does not work!');
return { name: 'test student' };
});
createStudent(); // Doesn't print anything
Благодарим за понимание.
EDIT: Я не могу установить Student()
в качестве заглушки, потому что я также закрываю Student.find()
в другом тесте. Таким образом, мой вопрос по существу «как я должен заглушить Student()
и Student.find()
в то же время?»
Спасибо Борис. Вы можете увидеть мое редактирование выше? – 2tsai
@ 2tsai Это сделано;) –