Testable JavaScript
Ensuring Reliable Code
Publisher: O'Reilly Media
Release Date: January 2013
Pages: 274
Read on Safari with a 10-day trial
Start your free trial now Buy on AmazonWhere’s the cart? Now you can get everything on Safari. To purchase books, visit Amazon or your favorite retailer. Questions? See our FAQ or contact customer service:
1-800-889-8969 / 707-827-7019
support@oreilly.com
One skill that’s essential for any professional JavaScript developer is the ability to write testable code. This book shows you what writing and maintaining testable JavaScript for the client- or server-side actually entails, whether you’re creating a new application or rewriting legacy code.
From methods to reduce code complexity to unit testing, code coverage, debugging, and automation, you’ll learn a holistic approach for writing JavaScript code that you and your colleagues can easily fix and maintain going forward. Testing JavaScript code is complicated. This book helps experienced JavaScript developers simply the process considerably.
- Get an overview of Agile, test-driven development, and behavior-driven development
- Use patterns from static languages and standards-based JavaScript to reduce code complexity
- Learn the advantages of event-based architectures, including modularity, loose coupling, and reusability
- Explore tools for writing and running unit tests at the functional and application level
- Generate code coverage to measure the scope and effectiveness of your tests
- Conduct integration, performance, and load testing, using Selenium or CasperJS
- Use tools for in-browser, Node.js, mobile, and production debugging
- Understand what, when, and how to automate your development processes
Table of Contents
-
Chapter 1 Testable JavaScript
-
Prior Art
-
Code Is for People
-
Beyond Application Code
-
Recap
-
-
Chapter 2 Complexity
-
Code Size
-
JSLint
-
Cyclomatic Complexity
-
Reuse
-
Fan-Out
-
Fan-In
-
Coupling
-
Coupling Metrics
-
Coupling in the Real World
-
Dependency Injection
-
Comments
-
The Human Test
-
Recap
-
-
Chapter 3 Event-Based Architectures
-
The Benefits of Event-Based Programming
-
The Event Hub
-
Web-Based Applications
-
Testing Event-Based Architectures
-
Caveats to Event-Based Architectures
-
A Smarter Hub: The Event Switch
-
Recap
-
-
Chapter 4 Unit Tests
-
A Framework
-
Let’s Get Clean
-
Writing Good Tests
-
Real-World Testing
-
Running Tests: Client-Side JavaScript
-
Running Tests: Server-Side JavaScript
-
Recap
-
-
Chapter 5 Code Coverage
-
Coverage Basics
-
Code Coverage Data
-
A Hands-on Example
-
Exercise/Deploy
-
Persisting Coverage Information
-
Generating Output
-
Aggregation
-
Hidden Files
-
Coverage Goals
-
Recap
-
-
Chapter 6 Integration, Performance, and Load Testing
-
Integration Testing
-
Performance Testing
-
Load Testing
-
Tracking Resource Usage
-
Recap
-
-
Chapter 7 Debugging
-
In-Browser Debugging
-
Node.js Debugging
-
Remote Debugging
-
Mobile Debugging
-
Production Debugging
-
Recap
-
-
Chapter 8 Automation
-
What to Automate
-
When to Automate
-
How to Automate
-
Recap
-
-
Colophon