With the addition of stubs and mocks to our test infrastructure, we are ready to tackle the remaining components of our Backbone.js application that we will cover in this book: the App.Views.NotesItem
view and the App.Routers.Router
router. For those following along in the code examples, we will integrate the specs for these application components into the test driver page chapters/05/test/test.html
.
One preliminary Sinon.JS issue that can trip up developers is making sure that spies, stubs, and mocks are actually bound to the expected methods of a Backbone.js application object during a test.
Let's start with a simple Backbone.js view named MyView
. The view has a custom method named foo()
that is bound to two event listeners, wrapped
and unwrapped
. The listeners are functionally equivalent, except that wrapped
wraps the call in a function (function () { this.foo(); }
) while unwrapped
binds the real...