Angular Test-Driven Development - Second Edition

More Information
  • Get a clear overview of TDD in the context of JavaScript with a brief look at testing techniques, tools, and frameworks
  • Get an overview of Karma and create test suites for an Angular application
  • Install and configure Protractor for Angular and explore a few important Protractor APIs
  • Understand automated testing and implement headless automated tests with Karma
  • Implement testing techniques with mocks, broadcast events, and asynchronous behavior
  • Integrate REST-based services and APIs into an application to extract data
  • Automate Karma unit tests with Travis CI

This is a complete guide that shows you testing techniques with Karma that will help you perform unit testing and end-to-end testing with Protractor. It will show you how to optimize your Angular development process using TDD techniques and ensure your final project is free of bugs. All examples in this book are based on Angular v2 and are compatible with Angular v4.

We start by reviewing the TDD life cycle, TDD in the context of JavaScript, and various JavaScript test tools and frameworks. You will see how Karma and Protractor can make your life easier while running JavaScript unit tests. We will enable you to build a test suite for an Angular application and build a testable medium-to-large scale Angular application by handling REST API data.

Building on the initial foundational aspects, we move on to testing for multiple classes, partial views, location references, CSS, and the HTML element. In addition, we will explore how to use a headless browser with Karma. We will also configure a Karma file to automate the testing and tackle elements of Angular (components, services, classes, and broadcasting) using TDD.

Finally, you will find out how to pull data using an external API, set up and configure Protractor to use a standalone Selenium server, and set up Travis CI and Karma to test your application.

  • Learn test-driven development (TDD) for JavaScript
  • Improve your Karma and Protractor expertise by setting up an Angular test suite
  • A wide range of testing techniques for professional Angular applications accompanied by practical examples
Page Count 252
Course Length 7 hours 33 minutes
ISBN 9781786465474
Date Of Publication 8 Feb 2017


Md. Ziaul Haq

Md. Ziaul Haq is a senior software engineer, Full Stack JavaScript developer, frontend architect, speaker, and certified scrum master from Dhaka, Bangladesh. He is a passionate programmer who loves to work on web technologies, mobile application development, and new technologies in general. JavaScript is his current technology stack of choice, in which he is working with Angular, NodeJS, ES2015, ReactJS, VueJS, npm, and He has also worked on LAMP technologies ( since an early stage in his career.

Ziaul currently works with the Upwork platform development team as a JavaScript developer. He started his career in 2006 as a software developer and, in his 10-year-long journey, he has worked at different companies in various tech roles. He also worked with UNICEF Myanmar and Bangladesh as a consultant. He just completed his MSc in computer science at United International University, Bangladesh.

Ziaul likes to involve himself in the technology community, where he leads three local JavaScript communities, including AngularJS Bangladesh and TalkJS. He is very active in the local JavaScript community, famously known as jquerygeek. You can follow him on Twitter at @jquerygeek.

Ziaul likes to watch sports during his free time. His favorite sports are football and cricket. In spite of being a crazy fan of Barca and Messi for football, he never misses a game when his country, Bangladesh, plays any cricket match.

Ziaul lives in Dhaka with his lovely wife, Richi, sweet son, Aarabi, cute daughter, Aafra, and caring parents. He spends time with family and friends when he is not working.