Я определяю следующий объект, который я намерен использовать для издевательства моделей Mongoose во время тестов Mocha. Я пишу это в CoffeeScript, поэтому у меня нет доступа к function
ключевому слову:Невозможно определить объект с init и дочерними объектами
TodoError = (body) ->
@find = (query, callback) ->
callback 'error', false
@save = (query, callback) ->
callback 'error', false
@init = (body) -> {}
@init body
return @
Этот объект вызывался следующими способами:
TodoError.find {}, (error, todos) -> {}
и
todo = new TodoError body
todo.save (error, todo) -> {}
Это приводит к следующей ошибке при попытке позвонить по телефону TodoError.find
TypeError: Object function (body) {
this.find = function(query, callback) {
return callback('error', false);
};
this.save = function(query, callback) {
return callback('error', false);
};
this.init = function(body) {
return {};
};
this.init(body);
return this;
} has no method 'find'
я первоначально имел это работает TodoError.find
со следующим определением, однако я понял, что это не будет работать, когда я пришел к new TodoError
части:
TodoError =
find : (query, callback) ->
callback 'error', false
save : (query, callback) ->
callback 'error', false