Bu imzayla bir yöntemi test etmek istediğimi varsayalım:
List<MyItem> getMyItems();
Farz edelim MyItem
ki, biri "name"
aracılığıyla erişilen birçok özelliği olan bir Pojo getName()
.
Doğrulama hakkında tek şey bakımı olmasıdır List<MyItem>
, ya da herhangi bir Iterable
, iki içeriyor MyItem
olan örneklerini, "name"
özellikleri değerlere sahip "foo"
ve "bar"
. Diğer özellikler eşleşmezse, bu testin amaçlarını gerçekten umursamıyorum. İsimler eşleşirse, başarılı bir testtir.
Mümkünse tek satırlık olmasını isterim. İşte yapmak istediğim türden bazı "sözde sözdizimi".
assert(listEntriesMatchInAnyOrder(myClass.getMyItems(), property("name"), new String[]{"foo", "bar"});
Hamcrest bu tür şeyler için iyi olur mu? Öyleyse, yukarıdaki sözdizimimin hamcrest versiyonu tam olarak ne olurdu?