Sinon: stub (obj, 'meth', fn) удален, см. документацию

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

Когда я использую следующий код, у меня возникает ошибка:

let obj = {
    foo: function() {
    }
}
var stub = sinon.stub(obj , "foo", () => {});

stub(obj, 'meth', fn) has been removed, see documentation

Затем я проверяю документацию:

http://sinonjs.org/releases/v2.0.0/stubs/#var -stub - sinonstubobject-method-func

var stub = sinon.stub (объект, «метод», функция);

Заменяет object.method на func, завернутый в шпион.

Как обычно, object.method.restore (); можно использовать для восстановления исходного метода.

Пользуюсь sinon 4.3.

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

Для тех, кто нашел это в Google, выполнив поиск по сообщению об ошибке, обновленные документы находятся здесь: http://sinonjs.org/releases/v5.0.3/stubs/

Похоже, новая форма - stub(obj, 'meth').callsFake(fn) :

~ var stub = sinon.stub(object, "method", func); ~
Это было удалено из версии 3.0.0. Вместо этого вы должны использовать
stub(obj, 'meth').callsFake(fn)
Доступен codemod для обновления вашего кода

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

Забудьте об этом, по какой-то причине Google искал "заглушку sinon" в документации 2.0.0.

Для тех, кто нашел это в Google, выполнив поиск по сообщению об ошибке, обновленные документы находятся здесь: http://sinonjs.org/releases/v5.0.3/stubs/

Похоже, новая форма - stub(obj, 'meth').callsFake(fn) :

~ var stub = sinon.stub(object, "method", func); ~
Это было удалено из версии 3.0.0. Вместо этого вы должны использовать
stub(obj, 'meth').callsFake(fn)
Доступен codemod для обновления вашего кода

@mroderick : Очень жаль, что люди в конечном итоге создают проблемы из-за нашей (?) стратегии SEO, так что, может быть, пришло время взглянуть на предложение, которое я когда-то сделал, чтобы исправить устаревшие поисковые запросы Google. Я мог бы начать с подробного описания проблемы и потенциального исправления (в соответствии с нашим обсуждением в Твиттере .. 2016?).

AFAI помню, что предлагаемое исправление делало что-то вроде Django, которое предполагает некоторую семантическую правильность за счет манипуляции с каноническими ссылками для улучшения SEO, всегда имея Google Hit, указывающий на / latest. Детали ускользают от банкомата, но концептуально все было просто. AFAI может вспомнить, что он просто делает это с использованием Jekyll, который был препятствием :-)

Можно ли разместить в верхней части старых версий баннер о том, что эти документы устарели? Это не улучшит результаты поиска, но, по крайней мере, это более очевидно для посетителей.

@mantoni Да, именно одна из вещей, которые возникли во время моего обмена мнениями в Твиттере с Морганом:


Кстати, у меня были сомнения по этому поводу из-за некоторых проблем с поисковой оптимизацией. Я думаю, нам нужен другой подход, ответьте на этот вопрос: https://webmasters.stackexchange.com/questions/109113/versioned-pages-making-sure-google-points-to-the-current… который привел меня к этому: https : //webmasters.stackexchange.com/questions/99867/how-to-correctly-mark-up-different-versions-of-the-same-document-which-are-non-c…

В принципе, я думаю, что большим улучшением для лучшего поиска Google было бы то, что Django делает в своих документах: https : //webmasters.stackexchange.com/a/101534/11903 - используйте rel = canonical, чтобы в основном стереть все, кроме последних версий из индекса - иметь небольшое предупреждение вверху, предупреждающее пользователя о том, что он просматривает более старые документы.

Я думаю, что использование баннеров и canonical (или noindex ) было бы хорошим началом.

В конце концов, я хотел бы иметь лучший веб-сайт с документацией.

  • легче управлять, легче вносить свой вклад (со всеми выпусками он становится громоздким)
  • больше примеров, в основном каждый метод / свойство должен иметь хотя бы один хороший пример использования
  • детская площадка

на сегодняшний день я по-прежнему считаю это лучшим результатом поиска Google для stub(obj, 'meth', fn) has been removed, see documentation

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