在Pester中测试集合是否相等或等价

时间:2017-01-04 16:20:09

标签: powershell pester

在nUnit中,我们可以这样做:

Expect(actualColleciton, EquivalentTo(expectedCollection));

Expect(actualCollection, EqualTo(expectedCollection));

Pester中是否有等同物?

我知道我能做到

$actualCollection | Should Be $expectedCollection

但它的行为并不像你期望的那样。

我使用正确的语法吗?

1 个答案:

答案 0 :(得分:2)

我猜你要比较集合的内容,而不是集合的指针/地址。

我认为你可以通过以下方式激发灵感:

$a1=@(1,2,3,4,5)
$b1=@(1,2,3,4,5,6)
$ret = (Compare-Object $a1 $b1).InputObject

if ($ret)
{
"different"
}
else
{
"same"
}

做类似的事情:

$ret = (Compare-Object $actualCollection $expectedCollection).InputObject
$ret | Should Be $null 

其中$ null表示列表相同。