E-book details

Backbone.js Testing

Backbone.js Testing

Ryan Glenn Roemer

Ebook
  • Backbone.js Testing
    • Table of Contents
    • Backbone.js Testing
    • Credits
    • About the Author
    • About the Reviewers
    • www.PacktPub.com
      • Support files, eBooks, discount offers and more
        • Why Subscribe?
        • Free Access for Packt account holders
    • Preface
      • What this book covers
      • Who this book is for
      • Conventions
      • Reader feedback
      • Customer support
        • Downloading the example code
        • Errata
        • Piracy
        • Questions
    • 1. Setting Up a Test Infrastructure
      • Designing an application and test repository structure
      • Getting the test libraries
        • Mocha
        • Chai
        • Sinon.JS
      • Setting up and writing our first tests
        • The test driver page
        • Adding some tests
      • Running and assessing test results
        • The first test report
        • Test report actions
        • Test timing and slow tests
        • Test failures
      • Summary
    • 2. Creating a Backbone.js Application Test Plan
      • A Backbone.js refresher
      • Selecting a Backbone.js application to test
        • Getting acquainted with the Notes application
        • The anatomy of the Notes application
      • Test paradigms and methods
      • Testing concepts, approaches, and planning
      • Testing individual Backbone.js components
        • Models
        • Collections
        • Templates
        • Views
        • Routers
        • Utilities
      • Testing application interactions and events
        • Partial integrations
        • Events
      • Dipping our toes in the application testing waters
        • Namespace
        • Note model
      • Running the application tests
      • Summary
    • 3. Test Assertions, Specs, and Suites
      • Choosing a test style that fits
        • Mocha test interfaces
        • Chai assertion styles
      • Trying out some different styles
        • Mocha and Chai BDD interfaces
        • Mocha TDD and Chai assert styles
        • Deciding on the project style
      • A tour of the Chai assertion library
        • Chaining objects and assertions
        • Basic value assertions
        • Comparing values
        • Object and array validation
        • Errors
      • Getting the application and tests ready to run
        • The Mocha test runner
        • Reconfiguring the application for testing
        • Organizing topics and specifications into test suites
        • Starting up and winding down tests
      • Writing Mocha test specifications
        • Asynchronous behavior in tests
        • Some Backbone.js collection tests
      • Testing and supporting Backbone.js views
        • The Notes application single note view
        • Creating HTML fixtures for view tests
        • Walking through the view test suite
      • Aggregating and running the application tests
      • Test development tips, tricks, and hints
        • Isolating and excluding tests
        • Writing testable application code
      • Summary
    • 4. Test Spies
      • Fake it til you make it
      • Getting to know Sinon.JS
        • Spying on functions with Sinon.JS
          • Anonymous spies
          • Spy assertions
          • Function spies
          • Object method spies
        • Playing in the sandbox with Sinon.JS test helpers
        • Delving into the Sinon.JS spy API
          • The spy API
          • The spy call API
      • Spicing up Chai with the Sinon.JS plugin
        • Introducing and installing Chai plugins
        • The Sinon.JS plugin
      • Testing Backbone.js components with spies
        • The Notes menu bar view
          • The menu bar view
          • Testing and spying on the menu bar view
        • The Notes single note view
          • The single note view
          • Testing the single note view
        • Hooking up and running the view tests
      • Summary
    • 5. Test Stubs and Mocks
      • Replacing method behaviors with Sinon.JS stubs
        • Getting started with stubs
        • The stub API
      • Faking and verifying behavior with Sinon.JS mocks
        • Deciding when to mock
        • The mock API
      • Testing Backbone.js components with stubs and mocks
        • Ensuring stubs and mocks are actually bound
        • The Notes list item view
          • The list item view
          • Testing the list item view
        • The Notes application router
        • Running the view and router tests
      • Finding the rest of the Notes application components
      • A few more Sinon.JS test helpers
        • Fake timers
        • Fake servers
          • The fake server API
          • Faking the remote backend in a Backbone.js application
      • Summary
    • 6. Automated Web Testing
      • The world of testing beyond humans and browsers
        • Continuous integration
        • Continuous deployment
        • Other scenarios
      • Automating browser environments
        • Remote controlled web browsers
        • Simulated browser environments
        • Headless web browsers
        • Multiple environment aggregators
      • Headless testing with PhantomJS
        • Installing PhantomJS and the supporting tools
        • Running Backbone.js tests with PhantomJS
        • Automating tests in the code samples
      • Parting thoughts, next steps, and future ideas
      • Summary
    • Index
  • Title: Backbone.js Testing
  • Author: Ryan Glenn Roemer
  • Original title: Backbone.js Testing.
  • ISBN: 9781782165255, 9781782165255
  • Date of issue: 2013-07-12
  • Format: Ebook
  • Item ID: e_3cdt
  • Publisher: Packt Publishing