Testing individual Backbone.js components
Backbone.js applications are quite amenable to testing separation. Backbone.js provides a small number of core components that mostly avoid interdependencies. Our goal in this section is to identify the different parts of a Backbone.js application that can be unit tested in isolation and start thinking about the features of each one that we should test. Many components can simply be instantiated alone while others will need some extra mocking or patching help in our tests.
Models
Backbone.js models most often are independent entities that can be instantiated with a simple new MyModel({foo: 123})
invocation. Accordingly, we can create standalone model objects in our tests without references to any other objects. Our model tests should include the assertions that:
Objects can be instantiated with supplied and/or default values
Data can be synchronized with a backing datastore (for example,
localStorage
or a REST server)Custom and built-in events fire and...