我正在为调用 ac# dll 函数的 Powershell 模块编写测试。示例:[Namespace]:: SomeMethod($param1, $param2) 关于如何在 Pester 测试中模拟此方法的任何想法?
问问题
154 次
1 回答
2
参考 Pester 文档模拟仅适用于 powershell cmdlet、命令或函数。
在描述部分它说:
模拟任何 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
}
}
}
于 2016-10-24T10:08:42.380 回答