Installation
The CAT PowerShell module is published on the PowerShell Gallery and is installed like any other module.
The module is installed with Install-Module, upgraded with Update-Module and removed with Uninstall-Module. No administrator permissions are needed when installing into CurrentUser scope.
Prerequisites
PowerShell 7
The module declares PowerShellVersion = '7.4' and CompatiblePSEditions = 'Core'. Windows PowerShell 5 is not supported: Install-Module CAT completes there without an error, but the module does not work.
| Version of CAT | Required version of PowerShell |
|---|---|
0.* |
7.2 |
1.* |
7.4 |
2.* |
7.4 |
PowerShell 7 releases with long-term support come out every second year and are supported for three years, so a PowerShell upgrade is needed at least once in three years.
To find out which version is running, read the PSVersion row of:
$PSVersionTable
Microsoft’s installation instructions for PowerShell 7 are at https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-windows.
If PowerShell 7 cannot be installed, use CAT CLI instead — it is self-contained and has no dependency on PowerShell.
Operating system
Windows 10 or later and Windows Server 2016 or later, on both clients and servers. The module also runs on the Linux distributions where Microsoft supports PowerShell 7 — see CAT on Linux.
Provider drivers
Some data source providers need additional software installed on the machine. The requirement belongs to the provider, not to the module — each provider page states what it needs, and the Providers overview marks which providers need a driver.
Install
Install-Module CAT -AcceptLicense -AllowClobber
-Scope decides who gets the module. AllUsers requires administrator permissions, CurrentUser does not:
Install-Module CAT -Scope AllUsers -AcceptLicense -AllowClobber
# or
Install-Module CAT -Scope CurrentUser -AcceptLicense -AllowClobber
-RequiredVersion installs one specific version; -MinimumVersion and -MaximumVersion bound the range:
$CatVersion = '3.0.0'
Install-Module CAT -RequiredVersion $CatVersion -AcceptLicense -AllowClobber
Several versions of the module can be installed side by side — for example the version used in production and the latest one. -Force installs another version next to an existing one and suppresses the confirmation prompt that appears while the PowerShell Gallery is not a trusted repository (it is not, by default):
Install-Module CAT -Force -AcceptLicense -AllowClobber
In automated processes, always pin the version.
Install-Module CAT -RequiredVersion '3.0.0'
Import-Module CAT -RequiredVersion '3.0.0'
Breaking changes may appear between major versions. Pinning both the install and the import keeps a pipeline on the version the tests were developed against.
List what is installed
Get-Module CAT -ListAvailable
The command lists every installed version of the module. To load one of them into the session, name it:
Import-Module CAT -RequiredVersion '3.0.0'
Without -RequiredVersion, Import-Module CAT loads the highest installed version. Importing is always required — see Install and import on the Introduction page.
Upgrade
Update-Module -Name CAT
Uninstall
One version:
Uninstall-Module CAT -RequiredVersion '2.4.0'
All installed versions:
Get-Module CAT -ListAvailable | Uninstall-Module -Force
Uninstalling removes the module only. Project files, test definitions and results stay where they are.