我需要确定一个
PSCustomObject
数组中是否包含其 Title
属性匹配某个值的项。我需要一个布尔值,用于 Pester 断言使用:$Items -<function> $Name | Should Be $True
假设:
$Items = @()
$Items += [PsCustomObject]@{Title='foo';Url='http://f.io'}
$Items += [PsCustomObject]@{Title='bar';Url='http://b.io'}
Contains
不起作用:
PS> $Items -contains 'foo'
False
Match
返回匹配实例,但它不是布尔值:
PS> $Items -match 'foo'
Title Url
----- ---
foo http://f.io
我想我可以:
($Items -Match $Name).Count | Should Be 1
有更好的选择吗?
[bool]($Items -match 'foo')
,翻译为:判断变量$Items中是否包含'foo',返回布尔值。 - CB.