In this chapter, we have explored test-driven development from the ground up. We have discussed the theory of TDD, explored the differences between unit, integration, and acceptance tests, and had a look at what a continuous integration build server process looks like. We then explored Jasmine as a testing framework, learned how to write tests, used expectations and matchers, and also explored Jasmine extensions to help with data-driven tests and DOM tests through fixtures. Finally, we had a look at test runners, discussed where and when they are best used, and used Protractor to drive web pages through Selenium and report the results back to a build server.
In the next chapter, we will explore how to create tests for our TypeScript compatible frameworks: Backbone, Aurelia, Angular, and React.