Миграция на 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.calledInOrdersinon.createsinon.deepEqualsinon.formatsinon.functionNamesinon.functionToStringsinon.getConfigsinon.getPropertyDescriptorsinon.objectKeyssinon.orderByFirstCallsinon.restoresinon.timesInWorldssinon.valueToStringsinon.walksinon.wrapMethodsinon.Eventsinon.CustomEventsinon.EventTargetsinon.ProgressEventsinon.typeOfsinon.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