Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 删除一个Pester模拟函数_Powershell_Mocking_Pester - Fatal编程技术网

Powershell 删除一个Pester模拟函数

Powershell 删除一个Pester模拟函数,powershell,mocking,pester,Powershell,Mocking,Pester,如何卸载先前模拟的函数?有时,我发现自己处于一种情况,我想测试一个我以前模拟过的函数 一个简化的例子: 描述“纠缠嘲弄”{ $testFile=连接路径$env:TEMP'test.txt' 它“应该是绿色的”{ 模拟文件 “Text”| Out File-FilePath$testFile 断言mockout File-乘以1-精确 } 它“应该是绿色的”{ #卸载文件 “Text”| Out File-FilePath$testFile $testFile |应-存在 } } 弄明白了,似乎

如何
卸载先前模拟的函数?有时,我发现自己处于一种情况,我想测试一个我以前模拟过的函数

一个简化的例子:

描述“纠缠嘲弄”{
$testFile=连接路径$env:TEMP'test.txt'
它“应该是绿色的”{
模拟文件
“Text”| Out File-FilePath$testFile
断言mockout File-乘以1-精确
}
它“应该是绿色的”{
#卸载文件
“Text”| Out File-FilePath$testFile
$testFile |应-存在
}
}

弄明白了,似乎
Pester
为每个模拟函数创建了一个
别名。解决方案是从范围中删除
别名
。这样将调用real
CmdLet

根据您的
PowerShell版本,有两种方法可以执行此操作:

删除项目别名:\Out文件
从文件中删除别名
解决方案:

描述“纠缠嘲弄”{
$testFile=连接路径$env:TEMP'test.txt'
它“应该是绿色的”{
模拟文件
“Text”| Out File-FilePath$testFile
断言mockout File-乘以1-精确
}
它“应该是绿色的”{
删除项目别名:\Out文件
“Text”| Out File-FilePath$testFile
$testFile |应-存在
}
}