Sinon: Метод восстановления песочницы по умолчанию не восстанавливает заглушки / шпионы

Созданный на 2 мая 2018  ·  4Комментарии  ·  Источник: sinonjs/sinon

При использовании любого метода песочницы в песочнице по умолчанию restore() не восстанавливает моки или шпионы должным образом. Минимальный репро на Sinon v5.0.2:

const sinon = require('sinon');
const myApi = {
  someMethod() {
    console.log('test method!');
  }
};

sinon.stub(myApi, 'someMethod');
sinon.restore();
sinon.stub(myApi, 'someMethod');
// TypeError: Attempted to wrap someMethod which is already wrapped

Похоже, что при вызове extend в lib/sinon.js незащищенный экспорт stub/spy/etc. из apiMethods конечном итоге затеняет методы песочницы, и поэтому restore() ничего не делает. Документы и исходный код lib/sinon.js похоже, предполагают, что это предполагаемое использование.

Я тестировал только stub и spy , но я ожидал, что любые другие теневые методы также не будут работать должным образом.

Я запускал эти тесты на Node v8.9.4 и Chrome 66.0.3359.117 через Karma / Chromedriver, хотя эта проблема, похоже, не связана с окружающей средой.

Самый полезный комментарий

С хорошими отчетами об ошибках большинство ошибок легко устранить.

Все 4 Комментарий

Спасибо за подробный отчет об ошибке 👍

Это было исправлено в [email protected]

Спасибо, что обратились к этому так быстро! Очень признателен :)

С хорошими отчетами об ошибках большинство ошибок легко устранить.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги