我正在使用extracting()
带有 Java8 lambda 的 AssertJ 方法并将一些字段映射到 BigDecimal,然后断言结果数组。但我需要比较 BigDecimal 使用compareTo()
而不是equals()
(因为这个)。我怎样才能做到这一点?
例子:
Actual actual = performTest();
Assertions.assertThat(actual)
.extracting(
Actual::getName, // returns String
Actual::getValue // returns BigDecimal
)
.containsExactly(
"abc", // ok, String equals comparison
new BigDecimal("1.1") // NOT OK, equals comparison, but I need compareTo comparison
);
编辑:我正在寻找一种流畅的方式来做到这一点,因为我当然可以将其拆分为多个不同的断言并以这种方式进行比较,或者将所有内容放在一个巨人Condition
中。