Test Driven JavaScript Development cover

Test Driven JavaScript Development

Publisher: PACKT | Year: | Pages: 140

Learn JavaScript test-driven development using popular frameworks and tools.

Initially, all processing used to happen on the server-side and simple output was the response to web browsers. Nowadays, there are so many JavaScript frameworks and libraries created that help readers to create charts, animations, simulations, and so on. By the time a project finishes or reaches a stable state, so much JavaScript code has already been written that changing and maintaining it further is tedious. Here comes the importance of automated testing and more specifically, developing all that code in a test-driven environment.

Test-driven development is a methodology that makes testing the central part of the design process – before writing code developers decide upon the conditions that code must meet to pass a test. The end goal is to help the readers understand the importance and process of using TDD as a part of development.

This book starts with the details about test-driven development, its importance, need, and benefits. Later the book introduces popular tools and frameworks like YUI, Karma, QUnit, DalekJS, JsUnit and goes on to utilize Jasmine, Mocha, Karma for advanced concepts like feature detection, server-side testing, and patterns. We are going to understand, write, and run tests, and further debug our programs. The book concludes with best practices in JavaScript testing. By the end of the book, the readers will know why they should test, how to do it most efficiently, and will have a number of versatile tests (and methods for devising new tests) to get to work immediately.

Chapters Overview

  • Chapter 1, Overview of TDD, introduces the Test-driven Development, it’s lifecycle, benefits and myths.

  • Chapter 2, Testing Concepts, brings TDD lifecycle into action using YUI(Yahoo User Interface) tests and explains how unit testing can be done for JavaScript.

  • Chapter 3, Testing Tools, introduces JsUnit, QUnit, Karma and DalekJS which are among popular unit testing frameworks for JavaScript.

  • Chapter 4, Jasmine, introduces behaviour-driven development and Jamine framework, it’s setup, usage, and customization along with several features a good unit testing framework should cover.

  • Chapter 5, JsTestDriver, showcases JsTestDriver unit testing tool and its integration with IDE.

  • Chapter 6, Feature Detection, explores has.js and Modernizr JavaScript libraries for feature detection and explains why feature detection should have preference over browser detection.

  • Chapter 7, Observer Design Patterns, explains observer pattern for JavaScript and its role in Test-Driven development.

  • Chapter 8, Testing with Server-side JS, covers server-side JavaScript unit testing using Node.js, Mocha and Chai while using Mongodb as database.

  • Chapter 9, Best Practices, lists best practices used for unit testing of JavaScript and also helps to make a good choice among popular unit testing frameworks and tools by explaining the features.

Excerpt from the preface of my book “Test-Driven JavaScript Development”.