使用 Pester 模拟 [System.IO.Path]::IsPathRooted()?
Mock [System.IO.Path]::IsPathRooted() using Pester?
如何使用 Pester 模拟 [System.IO.Path]::IsPathRooted()
?我尝试了以下但没有成功。
Describe "Configuration" {
Mock [System.IO.Path]::IsPathRooted {
return false
}
It "should mock rooted Path" {
[System.IO.Path]::IsPathRooted("C:\a") | Should Be False
}
很遗憾,您的问题的答案很简短:
你不能。
根据 Pester's Github Issue #72,最好的替代方法是将方法调用包装在一个单独的函数中,Mock
这个函数。
有一些关于这个的讨论,很多人都希望能够模拟 .Net 方法,但直到现在,我还没有找到任何解决方案。不幸的是,即使覆盖方法(独立于 Pester)也不是那么容易。
如何使用 Pester 模拟 [System.IO.Path]::IsPathRooted()
?我尝试了以下但没有成功。
Describe "Configuration" {
Mock [System.IO.Path]::IsPathRooted {
return false
}
It "should mock rooted Path" {
[System.IO.Path]::IsPathRooted("C:\a") | Should Be False
}
很遗憾,您的问题的答案很简短:
你不能。
根据 Pester's Github Issue #72,最好的替代方法是将方法调用包装在一个单独的函数中,Mock
这个函数。
有一些关于这个的讨论,很多人都希望能够模拟 .Net 方法,但直到现在,我还没有找到任何解决方案。不幸的是,即使覆盖方法(独立于 Pester)也不是那么容易。