Author: Dr. Venkat Subramaniam
Publisher: Pragmatic Bookshelf
Reviewer: Kay Ewbank
This is a book that looks at how to use automated testing to improve the quality of your code.
The book is subtitled Rapid, Confident, Maintainable Code, and it looks at how a number of automated testing tools can be used, including Karma, Mocha, Chai, Istanbul,Sinon and Protractor. The opening chapter discusses why automated testing and verification is a good idea. The author then moves on to an example showing the steps for creating tests for server-side and client-side code, creating test lists and looking at how to implement the minimum code for one test at a time.
The next chapter looks at how to test asynchronous functions, after which there's an interesting chapter on tackling dependencies. The advice is to remove them where possible, and to decouple and replace dependencies with test doubles to make testing easier.
By Chapter 5 the author has moved on to looking at Node.js applications and how to work out how much of the code the automated tests can verify. The next chapters look at testing database connections, model functions, routes functions, DOM and JQuery.
Knowing what to test is the real skill in testing, and there's a chapter suggesting important areas to test, and what should be avoided. The book ends with a chapter on putting everything together.
This is a good introductions to the various testing tools, and some of the suggestions for ways to test made me think about better ways to test my own code. An interesting read.