Я пишу тест для модуля Powershell, который вызывает функцию dll C#. пример: [Пространство имен] :: SomeMethod ($ param1, $ param2) Любые идеи о том, как я могу издеваться над этим методом в моем тесте Pester?mock a cll dll function in pester?
0
A
ответ
1
Ссылаясь на документацию Pester, насмешка работает только с командлетами, командами или функциями powershell.
В в description section он говорит:
Mock поведение любой команды Powershell.
Но вы могли бы дразнить его с оболочкой, как это:
Function Invoke-FooBar() {
[CmdletBinding()]
Param(
[Parameter(Mnadatory=$True)]
[ValidateNotNullOrEmpty()]
[String]$param1,
[Parameter(Mnadatory=$True)]
[ValidateNotNullOrEmpty()]
[String]$param2
)
[Namespace]::SomeMethod($param1, $param2)
}
И затем использовать Pester насмешливый с чем-то вроде этого:
Describe "Unit1" {
Context "Basic logic tests" {
Mock Invoke-Foobar {return $True}
It "Test1: Invoke-FooBar" {
Invoke-FooBar | Should Be $True
}
}
}