Angular TestDriven Development Second Edition
內容描述
About This Book
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
Who This Book Is For
This book is for developers who have experience with Angular but want to understand the wider context of when, why, and how to apply testing techniques and best practices to create quality clean code. To get the most out of this book, you should have a good understanding of HTML and JavaScript and a basic understanding of Angular.
What You Will Learn
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
In Detail
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.
Style and approach
This book is a complete guide to Angular unit testing techniques using Karma and performing end-to-end testing with Protractor.