PowerShell:
Rédaction de tests

Comment faire :

PowerShell n’a pas de framework de test intégré, mais Pester, un module tiers populaire, est largement utilisé pour écrire et exécuter des tests. Voici comment commencer avec Pester pour tester vos fonctions PowerShell.

Premièrement, installez Pester si vous ne l’avez pas déjà fait :

Install-Module -Name Pester -Scope CurrentUser -Force

Ensuite, considérez que vous avez une simple fonction PowerShell que vous souhaitez tester, sauvegardée en tant que MyFunction.ps1 :

function Get-MultipliedNumber {
    param (
        [int]$Number,
        [int]$Multiplier = 2
    )

    return $Number * $Multiplier
}

Pour tester cette fonction avec Pester, créez un script de test nommé MyFunction.Tests.ps1. Dans ce script, utilisez les blocs Describe et It de Pester pour définir les cas de test :

# Importer la fonction à tester
. .\MyFunction.ps1

Describe "Tests de Get-MultipliedNumber" {
    It "Multiplie le nombre par 2 quand aucun multiplicateur n'est fourni" {
        $result = Get-MultipliedNumber -Number 3
        $result | Should -Be 6
    }

    It "Multiplie correctement le nombre par le multiplicateur donné" {
        $result = Get-MultipliedNumber -Number 3 -Multiplier 3
        $result | Should -Be 9
    }
}

Pour exécuter les tests, ouvrez PowerShell, naviguez jusqu’au répertoire contenant votre script de test, et utilisez la commande Invoke-Pester :

Invoke-Pester .\MyFunction.Tests.ps1

Le résultat ressemblera à ceci, indiquant si vos tests ont réussi ou échoué :

Starting discovery in 1 files.
Discovery finished in 152ms.
[+] C:\chemin\vers\MyFunction.Tests.ps1 204ms (182ms|16ms)
Tests completed in 204ms
Tests Passed: 2, Failed: 0, Skipped: 0 NotRun: 0

Ce résultat montre que les deux tests ont réussi, vous donnant confiance dans le fait que votre fonction Get-MultipliedNumber se comporte comme attendu dans les scénarios que vous avez testés.