作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们正在尝试检查 CmdLet Start-ScheduledTask
是否已为特定计划任务准确调用一次。但由于某种原因,ParameterFilter
不匹配。
代码
$here = Split-Path -Parent $MyInvocation.MyCommand.Path
$sut = (Split-Path -Leaf $MyInvocation.MyCommand.Path) -replace '\.Tests\.', '.'
Function New-TaskObjectsHC {
Param (
[Parameter(Mandatory, ValueFromPipeline)]
[HashTable[]]$Hash
)
Process {
foreach ($H in $Hash) {
$Obj = New-Object -TypeName 'Microsoft.Management.Infrastructure.CimInstance' -ArgumentList @('MSFT_ScheduledTask')
$H.GetEnumerator() | ForEach-Object {
$Obj.CimInstanceProperties.Add([Microsoft.Management.Infrastructure.CimProperty]::Create($_.Key,$_.Value, [Microsoft.Management.Infrastructure.CimFlags]::None))
}
$Obj
}
}
}
Describe 'Monitor sheduled tasks' {
it 'test' {
Mock Get-ScheduledTask {
@(
@{
TaskName = 'My task'
State = 'Running'
}
) | New-TaskObjectsHC
}
Mock Start-ScheduledTask
Start-ScheduledTask -InputObject (Get-ScheduledTask)
Assert-MockCalled Start-ScheduledTask -Scope it -Times 1 -ParameterFilter {
($TaskName -eq 'My task')
}
}
}
当我们删除 ParameterFilter
时,我们可以清楚地看到 CmdLet 已被调用一次。所以我假设过滤器中一定存在语法错误。
最佳答案
问题修复:
Assert-MockCalled Start-ScheduledTask -Scope it -Times 1 -ParameterFilter {
($InputObject.TaskName -eq 'My task')
}
关于powershell - 纠缠 ParameterFilter 与 Assert-MockCalled 不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48804431/
我正在使用 rails exception-notifier gem 运行 rails3。当发生异常并且应该发送电子邮件时,我从 ParameterFilter 类中得到一个异常。我在 Rails 源
我已经创建了一个新的 Pester fixture 并试图模拟对 Get-Date CmdLet 的调用,但它不起作用。如果我不使用 -ParameterFilter,它确实有效。 虚拟.ps1 fu
我们正在尝试检查 CmdLet Start-ScheduledTask 是否已为特定计划任务准确调用一次。但由于某种原因,ParameterFilter 不匹配。 代码 $here = Split-P
我是 Pester 的新手,所以请多多包涵。我们正在尝试对执行一些事件目录查询和验证数据的非常大的脚本进行测试。我已将其简化为以下示例: Dummy.ps1 Param ( [String]$
我是一名优秀的程序员,十分优秀!