Skip to content
| Marketplace
Sign in
Azure DevOps>Azure Pipelines>Pester unittest build task
Pester unittest build task

Pester unittest build task

Peter Groenewegen

|
1,534 installs
| (6) | Free
Build extension that enable you to run Pester. You can run normal Pester unittest or use Pester to test your deployed Azure resources.
Get it free

Run Pester in VSTS build tasks

This build extension enables your to run Powershell unit test in your build and release pipelines. It uses the Pester Powershell test framework.

Pester

Pester will enable you to test your Powershell scripts from within Powershell. It is a set of function for unit testing Powershell functions. These functions will allow you to mock and isolate your test cases.

Pester build extension

This extension will run your pester unit test in a build pipeline. The task will first check if Pester is installed. If Pester is installed, it uses the installed Pester version. When Pester is not installed, the task will install the latest stable Pester version. On failure you can choose to break the build or just show it in the test results.

Run tests

For running the tests you can configure the task like:

Test files: *.tests.ps1
Fail build on error: true
Include Tags: ARM,SQL
Exclude Tags: Database
Testing Parameters: "SqlAzureRegion = 'westeurope',DbAzureRegion = 'West Europe'"

Run tests

This will run all *.tests.ps1 files in your repository

Read more...

Run deployment tests

The task 'Pester powershell deployment tests on Azure' has a connection to azure that enables you to run tests against azure:

param(
  [string]$DbAzureRegion,
  [string]$ResourceGroupName,
  [string]$SqlServerName,
  [string]$SqlDatabase
  )

Describe -Name 'Demo SQL Database' -Tags ('ARM','Database') -Fixture {
    Context -Name 'Resource Group' {
        It -name 'Passed Resource Group existence check' -test {
            Get-AzureRmResourceGroup -Name $ResourceGroupName | Should Not Be $null
        }
    }
    
    Context -Name 'Database' {
        $database = Get-AzureRmSqlDatabase -ServerName $SqlServerName -ResourceGroupName $ResourceGroupName -DatabaseName $SqlDatabase
        It -name 'Passed SQL Database existence check' -test {
            $database | Should Not be $null
        }
        It -name 'Passed SQL Database collation check' -test {
            $database.CollationName | Should be 'SQL_Latin1_General_CP1_CI_AS'
        }
        It -name 'Passed SQL Database status check' -test {
            $database.Status | Should be 'Online'
        }
        It -name 'Passed SQL Database Location check' -test {
            $database.Location | Should Be $DbAzureRegion
        }
    }
}

This way you can automaticly validate your deployments in your Release Pipelines.

Read more...

Upload test results VSTS

When you want the test results visible in VSTS, you need to upload the test result file. This can be done with the Upload test results task. Pester will write the test results in nUnit format to a test results file. This test results file is located in the test results directory. That is one directory higher than the working directory of the task.

The following configuration can be used:

Test Result Format: nUnit
Test Results Files: ../**/TEST-*.xml
Always run: true

Upload test results VSTS

See my blog for more tasks Sources

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft