У меня есть случай, когда я хотел высмеять функцию, если какое-то условие выполнено, и я получаю сообщение об ошибке.javascript mocking ошибка функции прототипа
здесь функция, которая условно выбирает ли издеваться функцию
MyClass.prototype.methodOne = function (callback) {
var self = this;
var methodTwo = this.methodTwo;
if (someCondition) {
methodTwo = function(callback) {
callback(null);
};
}
methodTwo(function (err) { });
}
MyClass.prototype.methodTwo = function (callback) {
var self = this;
var batch = new Batch();
batch.concurrency(this.options.concurrency); ----> error here
// some more stuff
callback(err);
}
Сообщение об ошибке Uncaught TypeError: Cannot read property 'concurrency' of undefined
Если вместо вызова methodTwo(function (err) { });
я называю this.methodTwo(function (err) { });
все работает отлично. не
Можете ли вы добавить в свой пример несколько предупреждений или console.log и рассказать, какое поведение вы принимаете? –