Недавно я обнаружил, что мне не нужно использовать модуль Import-Module для использования моих расширенных функций powershell, я могу просто определить функцию анонимно в файле ps1.Как использовать Pester для издевательства функций в анонимных расширенных функциях
К сожалению, мои тесты модуля Pester нарушены. Кажется, я не могу высмеять вызов New-Object в списке ниже. Как правило, я хотел бы рассчитать источник кода ниже и получить функцию Get-StockQuote, определенную в моей области. Теперь точка поиска файла ps1 не помогает, потому что я все равно вызываю функцию через имя файла.
Как я могу использовать Pester для проверки приведенного ниже кода с помощью макетной реализации New-Object?
Примечание: этот код, очевидно, является тривиальным с точки зрения вопроса, тесты для кода, с которым я работаю, действительно требуют макетной реализации New-Object.
# Source listing of the file: Get-StockQuote.ps1
<#
.Synopsis
Looks up a stock quote
.Description
Uses the yahoo api to retrieve a recent quote for a given stock.
.Parameter Symbol
The stock trading symbol
.Example
Get-StockQuote.ps1 -Symbol AMZN
Prints the following line to the output
440.84
#>
[CmdletBinding()]
Param(
[parameter(Mandatory=$false)]
[string]$Symbol
)
BEGIN {
Set-StrictMode -Version 1
}
PROCESS {
(New-Object System.Net.WebClient).DownloadString("http://finance.yahoo.com/d/quotes.csv?s=$Symbol&f=l1")
}
END {
}