簡體   English   中英

hamcrest“ hasItem”能否獲得很少的匹配者?

[英]can hamcrest “hasItem” get few matchers?

我看到了這個帖子

assertThat( myClass.getMyItems(), contains(
    hasProperty("foo", is("bar")), 
    hasProperty("name", is("bar"))
));

  assertThat(logsFromWaze, hasItem(
                hasProperty("foo", is("bar")),
                hasProperty("name", is("bar"))));

如何運作?

hasItem是否不希望將一個匹配器作為參數而不是匹配器列表?

沒有hasItem接受可變參數匹配,但你可以結合兩種hasProperty("foo", is("bar"))hasProperty("name", is("bar"))通過allOf匹配:

assertThat(logsFromWaze, hasItem(
        allOf(
                hasProperty("foo", is("bar")),
                hasProperty("name", is("bar"))
        )
));

單次通過檢查的Iterable時,如果通過至少一個與傳遞給allOf所有匹配項匹配的項,則此測試將成功。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM