Learning Behavior-driven Development with JavaScript

Create powerful yet simple-to-code BDD test suites in JavaScript using the most popular tools in the community About This BookMaster the most popular testing tools in the JavaScript ecosystem, such as CucumberJS, Mocha, SinonJS, and more.Learn how Behavior-driven development can help you to write software that is more modular and has less defects.Avoid common mistakes in testing, simplify your test suites, and make them more maintainable using a very pragmatic approach to BDD.Who This Book Is ForTThis book is ideal for any JavaScript developer who is interested in producing well-tested code. If you have no prior experience with testing, Node.js, or any other tool, do not worry, as they will be explained from scratch.What You Will Learn Understand the basic concepts of BDD and how it is different from classic unit testing Divide your system into different modules that can be tested separately, but at the same time not falling into the trap of unit testing Use Mocha, Sinon.JS, and Chai to write expressive BDD features Implement Cucumber.js to automate tests written in Gherkin so that your stakeholders can understand them Discover how to test asynchronous systems, either based on callbacks or promises Test a RESTful web API and a rich UI using WebDriverJS and Protractor Refactor and keep your test code base maintainable using best practices and patterns such as PageObject In DetailJavaScript is not only widely used to create attractive user interfaces for the Web, but with the advent of Node.js, it is also becoming a very popular and powerful language to write server-side applications. Using behavior-driven development and some common testing patterns and best practices, you will be able to avoid these traps.This book will show you how to do BDD in a practical way. We will start with a basic introduction of what BDD is and why the classical approach to testing has failed. Afterwards, we will dive directly into an introduction to Node.js, Mocha, and Sinon.JS. Finally, we will cover more advanced subjects such as how to write a fast and effective test suite for a RESTful web API, and how to do the same with a rich UI using Cucumber.js and Protractor.This book will give you great insight into how to architect your system to make it more testable and modular, but at the same time avoid the nightmare of abusing mock objects.

Author: Enrique Amodeo

Learn more