So far, we have been authoring and provisioning resources, using the ARM template. Provisioning resources using ARM templates is the preferred mechanism and enables infrastructure-as-code practices. As we write code to provision our infrastructure, it is important to test the deployment and the resources. These tests should be done on individual resources as well as collectively, to ensure that they are working together appropriately.
Although writing unit tests is not a new concept, it is a new paradigm to unit test infrastructure, environments, and deployments. In this chapter, we will investigate ways to unit test the ARM template deployments and environments.
We will specifically cover the following:
- Unit testing as a concept
- Unit testing ARM templates
- Retrieving outputs from ARM templates
- Pester as a unit testing tool
- Setting up the test harness...