Spec-Zone.ru › Sinon.JS 3

Миграция на 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 и перемещены в собственный модуль npm, 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/v3.3.0/migrating-to-2.0

Spec-Zone.ru

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