Tenho um script do PowerShell para configurar um site no IIS. Ele inclui as seguintes funções:
function Set-IisWebsiteBinding (
[Parameter(Mandatory = $true)]
[string]$SiteName,
[Parameter(Mandatory = $true)]
[Microsoft.Web.Administration.Site]$Website,
[Parameter(Mandatory = $true)]
[array]$WebsiteBindingSettings
)
{
# Set up website bindings ...
}
Estou tentando escrever testes para a função no Pester. Gostaria de criar um objeto fictício $Website para passar para a função em teste. O problema é que o Microsoft.Web.Administration.Site
tipo não tem construtor. Como posso criar um objeto do tipo Microsoft.Web.Administration.Site
no PowerShell se ele não tem construtor?
Eu poderia criar um via , IISServerManager.Sites.CreateElement()
mas gostaria de evitar ter que depender do uso de um IISServerManager
. Alternativamente, eu poderia me livrar da coerção de tipo para o parâmetro de função $Website
, para permitir que o código de teste passasse uma tabela de hash em vez de um objeto Microsoft.Web.Administration.Site. No entanto, prefiro manter a coerção de tipo para que fique óbvio para os futuros mantenedores do script qual $Website
é o tipo do objeto.
Existe alguma maneira de contornar essa falta de um construtor sem usar um real IISServerManager
ou remover a coerção de tipo?