0

下面是一个简单的函数,它只是创建一个资源组并导出数据。我正在尝试学习单元测试,但我似乎无法弄清楚。

是否可以提供测试模拟数据?我可以测试输出文件是否可以工作吗?

function New-AzureRG{

    param([string]$rgName,
     [string]$location

    )

$getData =  New-AzureRmResourceGroup -Name $rgName -location 'WestEurope'

$getData | Export-Csv $location

}


Describe "New-AzureRG" {
    Context "Function Exists" {
        It "Should return a message" {
        $sum = New-AzureRG -rgName testRG -location C:\tst\testsc.csv
        ($um).Name | Should Be "testRG"
        }
    }
}

这是我使用 Pester 进行测试的可怕尝试。出于某种原因,测试实际上是在做,而不是把它当作测试。我只是困惑:(。

4

1 回答 1

0

我不认为你的测试真的有效。例如,在测试中 $um 没有分配......如果您在当前测试中模拟 New-AzureRG 函数,那么您什么也没有测试。我猜你想要类似的东西:

创建一个函数 c

从另一个函数调用该函数

在测试中模拟 New-AzureRG 函数

你模拟可以看起来像:

Mock New-AzureRG { return @{Name = "NameRG"} } -ParameterFilter { $Name -eq "NameRG" }
于 2017-10-23T14:03:57.907 回答