У меня есть сценарий со следующим кодом:
$var1 = [TESTType]::new($Var)
Я хотел бы запустить тест на приставание, который Mock [TESTType] :: new ($ Var). Это возможно ?
У меня есть сценарий со следующим кодом:
$var1 = [TESTType]::new($Var)
Я хотел бы запустить тест на приставание, который Mock [TESTType] :: new ($ Var). Это возможно ?
Один из вариантов - использовать функцию-оболочку. Например, вы можете сделать это:
function Get-TESTType {
param(
[Parameter()]$ContructorVar
)
return [TESTType]::new($ConstructorVar)
}
Тогда вы можете издеваться над этой функцией
It "Mocks the TESTType Class" {
Mock Get-TESTType {
@{
field1 = 'something'
field2 = 'something'
}
}
# Put your test here
}
Mock
не сможет, но в PowerShell ›6 вы можете добавитьclass TESTType
определение в тестовое устройство, и оно должно иметь приоритет над любыми существующими настраиваемыми классами. - person Mathias R. Jessen   schedule 09.09.2020