0
私の場合、2つの異なるシステムから名前のセットを要求し、それらが等しいかどうか(順序に関係なく)を確認する必要があります。おそらく私は、なめらかを理解していないが、このコードは正常に動作します:Assertj抽出された文字列を比較する
assertThat(asList(assertThat(firstJSON)
.flatExtracting("innerObject")
.extracting("name")).stream().map(Object::toString).collect(Collectors.toList()))
.containsExactlyElementsOf(
asList(assertThat(secondJSON)
.flatExtracting("innerObject")
.extracting("name")).stream().map(Object::toString).collect(Collectors.toList()));
を、それは本当に醜いと私はこのような何かしたい:私はisSubsetOf()
のような多くの機能を試してみた
assertThat(firstJSON)
.flatExtracting("innerObject")
.extracting("name")
.containsExactlyElementsOf(
assertThat(secondJSON)
.flatExtracting("innerObject")
.extracting("name"));
をまたはcontainsOnly()
、また私はここにキャストしようとしましたが、常にいくつかの例外/エラーをキャッチします。
どのように比較すればよいですか?
本当に 'assertThat(getNamesOutOf(firstJSON)).isEqualTo(getNamesOutOf(secondJSON))'であるべきです。私たちはfirstJSONとsecondJSONの型と構造を知っていたので、 'getNamesOutOf()'の実装を助けることができました。 –