Sinon v2.0 is the second major release, we have made several breaking changes in this release as a result of modernising the internals of Sinon. This guide is intended to walk you through the changes.
sinon.log
and sinon.logError
were used in Sinon v1.x to globally configure FakeServer
, FakeXMLHttpRequest
and FakeXDomainRequest
; these three functions now allow the logger to be configured on a per-use basis. In v1.x you may have written:
sinon.log = function (msg) { // your logging impl };
You would now individually import and configure the utility upon creation:
var sinon = require("sinon"); var myFakeServer = sinon.fakeServer.create({ logger: function (msg) { // your logging impl } });
sinon.test
and sinon.testCase
have been extracted from the Sinon API and moved into their own node module, sinon-test. Please refer to the sinon-test README for migration examples.
The following utility functions are being marked as deprecated and are planned for removal in Sinon v3.0; please check your codebase for usage to ease future migrations:
sinon.calledInOrder
sinon.create
sinon.deepEqual
sinon.format
sinon.functionName
sinon.functionToString
sinon.getConfig
sinon.getPropertyDescriptor
sinon.objectKeys
sinon.orderByFirstCall
sinon.timesInWorlds
sinon.valueToString
sinon.walk
sinon.wrapMethod
sinon.Event
sinon.CustomEvent
sinon.EventTarget
sinon.ProgressEvent
sinon.typeOf
sinon.extend
sandbox.useFakeXMLHttpRequest
no longer returns a “server”In Sinon 1.x, the sandbox’ useFakeXMLHttpRequest
was the same as it’s useFakeServer
. In 2.x, it maps directly to sinon.useFakeXMLHttpRequest
(but with sandboxing). If you use sandbox.useFakeXMLHttpRequest
, just replace it with sandbox.useFakeServer
, and your tests should behave as they always did.
sinon.behavior
is goneThe sinon.behavior
object is no longer exposed for random modification. However, there is a new mechanism in place aided to add new behavior to stubs, sinon.addBehavior(name, fn)
, see the stub docs.
© 2010–2017 Christian Johansen
Licensed under the BSD License.
http://sinonjs.org/releases/v2.1.0/migrating-to-2.0