Skip to main content

Unit Testing Pulumi programs in C#

An example that applies unit testing to C# and Azure resources.

This example lives in the pulumi/examples repository. Check out just this directory to use it:

Get started with this example
git clone --filter=blob:none --sparse https://github.com/pulumi/examples pulumi-examples
git -C pulumi-examples sparse-checkout set testing-unit-cs-mocks
cd pulumi-examples/testing-unit-cs-mocks

An example of writing mock-based unit tests with both infrastructure definition and tests written in C#. The example uses the NUnit test framework to define and run the tests and FluentAssertions for assertions.

It defines a stack that deploys a static website to Azure Storage and a suite of tests to validate the deployment. It also shows several examples of changing mocks for the testing needs, including mocking an Invoke (data source) call - ListStorageAccountKeys - whose result contains a nested array of complex objects.

Prerequisites#

Install .NET Core 3.1+

Running the tests#

Run the tests:

Terminal window
dotnet test
Microsoft (R) Test Execution Command Line Tool Version 16.3.0
Copyright (c) Microsoft Corporation. All rights reserved.
Starting test execution, please wait...
A total of 6 test files matched the specified pattern.
Test Run Successful.
Total tests: 6
Passed: 6
Total time: 1.2167 Seconds

Further steps#

Learn more about testing Pulumi programs:

Related

The infrastructure as code platform for any cloud.