我有 Azure powershell 函数,run.ps1 看起来很漂亮
param($Request, $TriggerMetadata)
Write-Host $Request.Param1
Write-Host $Request.ParamB
Write-Host $Request.ParamC
return 200
它位于目录/func/myFunction/run.ps1 中 我的纠缠测试位于/func/Tests/my.Tests.ps1
测试看起来像
using namespace System.Diagnostics.CodeAnalysis
Describe "Test Run" {
BeforeAll {
$FunctionDir = $PSScriptRoot.Replace('Tests', 'myFunction')
. $FunctionDir\run.ps1
}
It "Can get OK" {
$Request = [PSCustomObject]@{
ParamA = 'A'
ParamB = 'B'
ParamC = 'C'
}
$result = run -Request $Request
$result | Should -Be 200
}
}
当调用我的测试时,我得到“术语运行”无法识别...
如何使用 Pester 运行完整的脚本并测试其输出?
最佳答案
解决这个问题最简单的方法可能是使用 Set-Alias
:
BeforeAll {
$FunctionDir = $PSScriptRoot.Replace('Tests', 'myFunction')
Set-Alias -Name Run -Value $FunctionDir\run.ps1
}
关于powershell - Pester如何测试powershell脚本不具备的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74625343/