Мне сложно создать приставку для конкретной функции Powershell с помощью invoke-command и наличия переменной $ using в блоке сценария. Он всегда возвращал ошибку всякий раз, когда я запускаю свой тест. Пример функции и теста ниже:
Функция:
Function Execute-Function {
.
.
.
$Name = "Computer_Name"
$ScriptBlock = {
Import-Module "Activedirectory"
Get-Computer -Name $Using:Name
}
Invoke-Command -Session $Session -ScriptBlock $ScriptBlock
}
Тестовое задание:
Describe 'Execute-Function' {
.
.
.
.
mock Import-Module {} -verifiable
mock Get-Computer {} -verifiable
mock Invoke-Command {
param($Scriptblock)
. $Scriptblock
} -verifiable
$result = Execute-Function
it 'should call all verifiable mocks'{
Assert-verifiablemocks
}
}
Ошибка моего теста вернет A using переменная не может быть получена. Переменная using может использоваться только с Invoke-Command .... Я не могу понять эту ошибку, хотя я издевался над Get-Computer, чтобы ничего не вернуть? или мне нужно изменить способ имитации Get-Computer для прохождения теста?
Заранее спасибо
Invoke-Command
.Invoke-Command { param($myparam) ... } -ArgumentList ...
- person Maximilian Burszley   schedule 10.01.2018