私はほとんどのテストにhamcrestを使用していますが、オブジェクトグラフの1レベル下にプロパティをテストできないという問題が発生しました。私のテストケースのハムクレストでネストされたプロパティの深い比較を行う方法はありますか?
final List<Foo> foos= fooRepository.findAll(spec);
assertThat(results, is(notNullValue()));
assertThat(results, hasItem(hasProperty("id.fooID1", equalTo("FOOID1"))));
下回るので、ここで私はFOOSのリストに私はFOOID1 .Hereにプロパティid.fooID1のequlaを持っているかどうかを確認したい、私は私のネストされたプロパティ.Thisを確認する1つのレベルをダウンつもりです現在、hamcrestで動作していないので、次のエラーが表示されます。
java.lang.AssertionError:
Expected: a collection containing hasProperty("id.fooID1", "FOOID1")
but: No property "id.fooID1"
at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
at org.junit.Assert.assertThat(Assert.java:956)
at org.junit.Assert.assertThat(Assert.java:923)
この問題に関するヘルプまたは回避策
それは魅力のように機能しますが、それはより深い階層になると本当に扱いにくいものです。 –
これは素晴らしいものです。 – Loathian