community.windows.win_pester – Run Pester tests on Windows hosts

Note

This plugin is part of the community.windows collection (version 1.9.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install community.windows.

To use it in a playbook, specify: community.windows.win_pester.

Synopsis

  • Run Pester tests on Windows hosts.

  • Test files have to be available on the remote host.

Requirements

The below requirements are needed on the host that executes this module.

  • Pester

Parameters

Parameter Choices/Defaults Comments
output_file
string
Generates an output test report.
output_format
string
Default:
"NunitXML"
Format of the test report to be generated.
This parameter is to be used with output_file option.
path
string / required
Path to a pester test file or a folder where tests can be found.
If the path is a folder, the module will consider all ps1 files as Pester tests.
tags
list / elements=string
Runs only tests in Describe blocks with specified Tags values.
Accepts multiple comma separated tags.
test_parameters
dictionary
Allows to specify parameters to the test script.
version
string
Minimum version of the pester module that has to be available on the remote host.

aliases: minimum_version

Examples

- name: Get facts
  ansible.windows.setup:

- name: Add Pester module
  action:
    module_name: "{{ 'community.windows.win_psmodule' if ansible_powershell_version >= 5 else 'chocolatey.chocolatey.win_chocolatey' }}"
    name: Pester
    state: present

- name: Run the pester test provided in the path parameter.
  community.windows.win_pester:
    path: C:\Pester

- name: Run the pester tests only for the tags specified.
  community.windows.win_pester:
    path: C:\Pester\TestScript.tests
    tags: CI,UnitTests

# Run pesters tests files that are present in the specified folder
# ensure that the pester module version available is greater or equal to the version parameter.
- name: Run the pester test present in a folder and check the Pester module version.
  community.windows.win_pester:
    path: C:\Pester\test01.test.ps1
    version: 4.1.0

- name: Run the pester test present in a folder with given script parameters.
  community.windows.win_pester:
    path: C:\Pester\test04.test.ps1
    test_parameters:
      Process: lsass
      Service: bits

- name: Run the pester test present in a folder and generate NunitXML test result..
  community.windows.win_pester:
    path: C:\Pester\test04.test.ps1
    output_file: c:\Pester\resullt\testresult.xml

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
output
list / elements=string
success
Results of the Pester tests.

pester_version
string
always
Version of the pester module found on the remote host.

Sample:
4.3.1


Authors

  • Erwan Quelin (@equelin)

  • Prasoon Karunan V (@prasoonkarunan)