如何排除 Pester 配置中的路径?
How to exclude Paths in the Pester configuration?
我们的模块目录结构如下:
C:\Program Files\WindowsPowerShell\Modules\Toolbox.CustomModule1
C:\Program Files\WindowsPowerShell\Modules\Toolbox.CustomModule2
C:\Program Files\WindowsPowerShell\Modules\ModuleDownloaded
C:\Program Files\WindowsPowerShell\Modules\ModuleDownloadedOther
所有以 'Toolbox.' 开头的 PowerShell 模块都是我们创建的,并且是唯一需要使用 Pester 5 进行测试的模块。我希望可以使用通配符:
$config = [PesterConfiguration]@{
Run = @{
Path = "C:\Program Files\WindowsPowerShell\Modules\Toolbox.*"
}
}
Invoke-Pester -Configuration $config
但是上面失败了,因为 Path
不支持通配符。由于下载的模块与 Pester 5 不兼容,仅使用 C:\Program Files\WindowsPowerShell\Modules
也失败了。因此在查找文档时我偶然发现了这个:
$test = [PesterConfiguration]::Default
$test.Filter | Format-List
Tag : Tags of Describe, Context or It to be run. (System.String[], default: System.String[])
ExcludeTag : Tags of Describe, Context or It to be excluded from the run. (System.String[], default: System.String[])
Line : Filter by file and scriptblock start line, useful to run parsed tests programatically to avoid problems with expanded names. Example: 'C:\tests\file1.Tests.ps1:37' (System.String[],
default: System.String[])
FullName : Full name of test with -like wildcards, joined by dot. Example: '*.describe Get-Item.test1' (System.String[], default: System.String[])
但这似乎并没有谈论完整的文件名。有没有一种简单的方法可以做到这一点(而不是简单的 foreach
但来自 PesterConfiguration
本身?
好像是bug in Pester 5.1。支持通配符,将在新版本中修复。
我们的模块目录结构如下:
C:\Program Files\WindowsPowerShell\Modules\Toolbox.CustomModule1
C:\Program Files\WindowsPowerShell\Modules\Toolbox.CustomModule2
C:\Program Files\WindowsPowerShell\Modules\ModuleDownloaded
C:\Program Files\WindowsPowerShell\Modules\ModuleDownloadedOther
所有以 'Toolbox.' 开头的 PowerShell 模块都是我们创建的,并且是唯一需要使用 Pester 5 进行测试的模块。我希望可以使用通配符:
$config = [PesterConfiguration]@{
Run = @{
Path = "C:\Program Files\WindowsPowerShell\Modules\Toolbox.*"
}
}
Invoke-Pester -Configuration $config
但是上面失败了,因为 Path
不支持通配符。由于下载的模块与 Pester 5 不兼容,仅使用 C:\Program Files\WindowsPowerShell\Modules
也失败了。因此在查找文档时我偶然发现了这个:
$test = [PesterConfiguration]::Default
$test.Filter | Format-List
Tag : Tags of Describe, Context or It to be run. (System.String[], default: System.String[]) ExcludeTag : Tags of Describe, Context or It to be excluded from the run. (System.String[], default: System.String[]) Line : Filter by file and scriptblock start line, useful to run parsed tests programatically to avoid problems with expanded names. Example: 'C:\tests\file1.Tests.ps1:37' (System.String[], default: System.String[]) FullName : Full name of test with -like wildcards, joined by dot. Example: '*.describe Get-Item.test1' (System.String[], default: System.String[])
但这似乎并没有谈论完整的文件名。有没有一种简单的方法可以做到这一点(而不是简单的 foreach
但来自 PesterConfiguration
本身?
好像是bug in Pester 5.1。支持通配符,将在新版本中修复。