2016-05-26 10 views
8

Есть ли способ заглушить метод класса ES6 с использованием Mocha/Sinon?Остановка метода класса ES6 с использованием Mocha и Sinon в NodeJS

Я пытаюсь это сделать ...

sinon.stub(Factory, 'announce'); 

но я получаю следующее сообщение об ошибке ...

TypeError: Attempted to wrap undefined property announce as function 
+1

Не следует ли передавать 'Factory.prototype'? Я думаю, это не статический метод. – Bergi

+1

Я не понимал, что классы ES6 все еще используют .prototype! Хотите отправить ответ для меня, чтобы принять? – michael

ответ

17

методы экземпляра по-прежнему размещены на прототипе объекта класса чтобы наследоваться от него, а не от его конструктора, даже если синтаксис class немного затушевывает. Использовать

sinon.stub(Factory.prototype, 'announce');