私はこの署名付きユニットテスト方法にしたいと仮定:Iterableに特定のプロパティを持つ要素が含まれていることをどのようにアサートしますか?
List<MyItem> getMyItems();
はMyItem
がgetName()
介してアクセス、"name"
であるそのうちの一つ、多くの特性を有するPOJOであると仮定する。
私が検証を気にすべての
はList<MyItem>
、または任意の
Iterable
は、その
"name"
プロパティ値
"foo"
と
"bar"
を持つ2つの
MyItem
のインスタンスが含まれていることです。他のプロパティが一致しない場合、私はこのテストの目的を本当に気にしません。名前が一致すれば、それは成功したテストです。
できるだけ1ライナーにしたいと思います。ここで私がやりたいことのいくつかの「擬似構文」があります。
assert(listEntriesMatchInAnyOrder(myClass.getMyItems(), property("name"), new String[]{"foo", "bar"});
このタイプのものには良いでしょうか?もしそうなら、上記の私の擬似構文のhamcrestバージョンはどういうものでしょうか?
サイドノードとして - これはhamcrestソリューション(assertjではありません)です – Hartmut