Quand Pester est chatouilleux sur la syntaxe

Pester est un outil de test unitaire pour PowerShell bien pratique, mais facilement capricieux.

Aujourd’hui je me suis pris la tête sur un problème bien pénible et pas évident. Alors je vais partager.

Regardez bien ce script:

describe 'My test' {
    It "does something <title>" -Testcase @(
        @{title = "a" }
        @{title = "b" }
    ) 
    {
        $true | should -be $true
    }
}

A votre avis pourquoi il répond ceci:

Describing My test
[-] Error occurred in Describe block 0ms
RuntimeException: No test script block is provided. (Have you put the open curly brace on the next line?)
at ItImpl, C:\Users\XXX\Documents\PowerShell\Modules\Pester\4.10.1\Functions\It.ps1: line 172
at It, C:\Users\XXX\Documents\PowerShell\Modules\Pester\4.10.1\Functions\It.ps1: line 132
at <ScriptBlock>, C:\Projets\DemoAdf\Pester\MyTest.tests.ps1: line 6
at DescribeImpl, C:\Users\XXX\Documents\PowerShell\Modules\Pester\4.10.1\Functions\Describe.ps1: line 213

Tout simplement parce que la ligne 5/6 est mal écrite!

On doit faire ceci:

describe 'My test' {
    It "does something <title>" -Testcase @(
        @{title = "a" }
        @{title = "b" }
    ) {
        $true | should -be $true
    }
}

Et cette fois:

2022-05-06_22-43-37

Mais bon sang!!

C’est quoi d’ailleurs l’explication technique? Quelqu’un saurait me le dire?

2 commentaires sur « Quand Pester est chatouilleux sur la syntaxe »

  1. Il me semble que c’est parce que tu es sur un appek d’une cmdlet et que les paramètres doivent se trouver sur la même ligne.
    Comme
    $a -and
    $b
    Ne fonctionne pas. Avec un ` à la fin de la ligne 5, ça devrait fonctionner aussi.

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s