AssertJ は、hasValueSatisfying(Consumer<T> requirement)
JavaOptional
オブジェクトのメソッドを提供します。このメソッドを使用すると、次のようにオプションの値でアサーションを作成できます。
assertThat(myOptional).hasValueSatisfying(v -> {
assertThat(v.getFirstName()).isEqualTo("Stephen");
assertThat(v.getLastName()).isEqualTo("Smith");
assertThat(v.getAge()).isEqualTo(22);
});
コレクションに同等の方法はありますか? 原因の私はallMatch(Predicate<? super T> predicate)
このような方法を誤用することができます
assertThat(myIcelanderFriends).extracting(Person::getAddress)
.allMatch(a -> {
assertThat(a.getCountry()).isEqualTo("Iceland");
assertThat(a.getPhoneContryCode()).isEqualTo("+354");
assertThat(a.getSurname()).endsWith("son");
return true; // Predictes must return a boolean
});
return true;
しかし、述語には戻り値が必要なので、誤解を招く行を追加する必要があります。ここにもhaveValuesSatisfying(Consumer<T> requirement)
方法があるといいのですが。私はそのような方法を監督しましたか、それとも (まだ) 存在しませんか?