Introduction to Test-Driven Development
Learn about the benefits of test-driven development and understand the TDD paradigm and its essential steps.
We'll cover the following...
In the modern world of JavaScript development, there are many different frontend frameworks that we can use to write applications, from older frameworks such as Backbone.js to newer ones such as Angular, React, and Vue.
These frameworks will generally use either the Model View Controller (MVC) design pattern or some variation of it, such as the Model View Presenter (MVP) or Model View View Model (MVVM). When discussing this group of patterns together, they are described by some as Model View Whatever (MVW) or simply MV*.
Some of the benefits of this MV* style of writing applications include modularity and separation of concerns, but one of the biggest advantages is the ability to write testable JavaScript.
Using MV* allows us to unit test the Models we use, the Views we use, and the Controllers we use. We can write tests for individual classes and then extend those tests to cover groups of classes. We can also test our rendering functions and ensure that the DOM elements on a web page are displaying correctly. We can simulate button clicks, drop-down selects, form inputs, and even animations.
These tests can then be extended into page transitions, including simulating login pages and access rights. By building a large set of tests for our applications, we gain confidence that our code works as expected and allows us to refactor our code at any time.
Refactoring code refers to the ability to modify the underlying implementation of a block of code or a set of functionalities without fear that we will introduce bugs unwittingly. This means that if we have a set of tests, then we are free to rewrite any part of the underlying code as long as the tests ...