Spec-Zone.ru › Sinon.JS 2

Миграция на v2.0

Sinon v2.0 — второе крупное обновление, в котором мы внесли ряд несовместимых изменений в результате модернизации внутренних компонентов Sinon. Это руководство поможет вам разобраться с изменениями.

Удалены sinon.log и sinon.logError

sinon.log и sinon.logError в Sinon v1.x использовались для глобальной настройки FakeServer, FakeXMLHttpRequest и FakeXDomainRequest; теперь эти три функции позволяют настраивать логгер на основе каждого отдельного использования. В v1.x вы, возможно, писали:

sinon.log = function (msg) { // your logging impl };

Теперь вы должны импортировать и настраивать утилиту при её создании:

var sinon = require("sinon");

var myFakeServer = sinon.fakeServer.create({
 logger: function (msg) { // your logging impl }
});

Удалены sinon.test, sinon.testCase и sinon.config

sinon.test и sinon.testCase были вынесены из API Sinon и перемещены в отдельный модуль node, sinon-test. Для примеров миграции обратитесь к README-файлу sinon-test.

stub.callsFake заменяет stub(obj, ‘meth’, fn)

sinon.stub(obj, 'meth', fn) возвращала шпион, а не полную заглушку. Поведение нельзя было переопределить. stub.callsFake теперь возвращает полную заглушку. Вот скрипт codemod, который поможет вам мигрировать. Смотрите обсуждение.

// Old
sinon.stub(obj, 'meth', fn);
// New
sinon.stub(obj, 'meth').callsFake(fn);

Устаревание внутренних вспомогательных функций

Следующие утилиты помечаются как устаревшие и планируется их удаление в Sinon v3.0; проверьте свой код на использование, чтобы упростить будущие миграции:

  • sinon.calledInOrder
  • sinon.create
  • sinon.deepEqual
  • sinon.format
  • sinon.functionName
  • sinon.functionToString
  • sinon.getConfig
  • sinon.getPropertyDescriptor
  • sinon.objectKeys
  • sinon.orderByFirstCall
  • sinon.restore
  • sinon.timesInWorlds
  • sinon.valueToString
  • sinon.walk
  • sinon.wrapMethod
  • sinon.Event
  • sinon.CustomEvent
  • sinon.EventTarget
  • sinon.ProgressEvent
  • sinon.typeOf
  • sinon.extend

sandbox.useFakeXMLHttpRequest больше не возвращает «сервер»

В Sinon 1.x, useFakeXMLHttpRequest в sandbox был тем же, что и useFakeServer. В 2.x он напрямую соответствует sinon.useFakeXMLHttpRequest (но с использованием sandboxing). Если вы используете sandbox.useFakeXMLHttpRequest, просто замените его на sandbox.useFakeServer, и ваши тесты должны вести себя так же, как и раньше.

sinon.behavior отсутствует

Объект sinon.behavior больше не доступен для произвольного изменения. Однако есть новый механизм для добавления нового поведения в заглушки, sinon.addBehavior(name, fn), см. документацию по заглушкам.

© 2010–2017 Christian Johansen
Licensed under the BSD License.
http://sinonjs.org/releases/v2.4.1/migrating-to-2.0

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API