我们有一个testing套件,主要使用与Hamcrest匹配器的JUnit断言。 我们的一个团队开始尝试AssertJ ,并以其语法,灵活性和声明性给人印象深刻。 JUnit提供了一个function,我无法在AssertJ中find相应的function:添加自定义断言失败消息。 我们经常比较不是为了人类可读性而devise的对象,并且会有随机的Ids或UUID,而且不可能通过它们包含的数据来判断它们应该是什么。 遗憾的是,这对于我们的代码库是不可避免的,因为它实现的目标之一就是在其他服务之间映射数据,而不必理解它是什么。 在JUnit中, assertThat方法在Matcher<T>参数之前提供了一个带有String reason参数的版本。 这使得添加一个简短的debugging串来解决这个问题变得微不足道,比如说比较对于一个人来说意味着什么。 另一方面,AssertJ提供了一个不同的通用static assertThat 断言 ,这个方法返回某种forms的接口Assert或其中一个实现类。 此接口不提供设置自定义消息的标准方式,以包含故障。 有没有办法从AssertJ API或其扩展之一获得这个function,而不必为我们想要添加消息的每个断言types创build一个自定义的断言类 ?