Pages: 362 Published: October 2016 ISBN: 9781680501742 Edition: 1
Rapid, Confident, Maintainable Code
by Venkat Subramaniam
Node.js, Express, MongoDB, jQuery, AngularJS, or directly manipulate the
meaningful, deterministic automated tests with Karma, Mocha, and Chai.
dependencies, measure code coverage, and create lightweight modular
designs of both server-side and client-side code. Your investment in
writing tests will pay high dividends as you create code that’s
predictable and cost-effective to change.
meaningful tests is a skill that takes learning, some unlearning, and a
lot of practice, and with this book, you’ll hone that skill. Fire up the
editor and get hands-on through practical exercises for effective
automated testing and designing maintainable, modular code.
Start by learning when and why to do manual testing vs. automated
verification. Focus tests on the important things, like the
pre-conditions, the invariants, complex logic, and gnarly edge cases.
Then begin to design asynchronous functions using automated tests.
Carefully decouple and mock out intricate dependencies such as the DOM,
geolocation API, file and database access, and Ajax calls to remote
Step by step, test code that uses Node.js, Express, MongoDB, jQuery, and
AngularJS. Know when and how to use tools such as Chai, Istanbul, Karma,
Mocha, Protractor, and Sinon. Create tests with minimum effort and run
them fast without having to spin up web servers or manually edit HTML
pages to run in browsers. Then explore end-to-end testing to ensure all
parts are wired and working well together.
Don’t just imagine creating testable code, write it.
Dr. Venkat Subramaniam is an award-winning author, founder of Agile
Developer, Inc., and an adjunct faculty at the University of Houston. He
has trained and mentored thousands of software developers in the US,
Canada, Europe, and Asia, and is a regularly invited speaker at several
international conferences. He’s the (co)author of multiple books,
including the 2007 Jolt Productivity award-winning book Practices of an