信任断言库与AssertJ的比较

信任断言库与AssertJ的比较,assertj,fest-assert,Assertj,Fest Assert,我使用了FEST-Assert,并在它停止开发后转到AssertJ 最近,有人用另一个断言库Truth()将我指向Google存储库 阅读这些示例,我发现开始使用它比使用AssertJ有什么好处。因此,使用什么只是口味的问题。但也许我没抓住重点,是吗 来自他们在GitHub的其中一位客户: 核心区别在于,真理的设计包括两个具体的方面 可扩展性领域——命题失败策略的领域- 这样,整数的“主题”或字符串的主题可以是 在完全不同的失效结果下重复使用。A. 值得注意的例子是JUnit使用 Asserti

我使用了
FEST-Assert
,并在它停止开发后转到
AssertJ

最近,有人用另一个断言库
Truth
()将我指向Google存储库

阅读这些示例,我发现开始使用它比使用AssertJ有什么好处。因此,使用什么只是口味的问题。但也许我没抓住重点,是吗

来自他们在GitHub的其中一位客户:

核心区别在于,真理的设计包括两个具体的方面 可扩展性领域——命题失败策略的领域- 这样,整数的“主题”或字符串的主题可以是 在完全不同的失效结果下重复使用。A. 值得注意的例子是JUnit使用 AssertionError和它的AssumptionViolationException。真理让你 对这两个类使用相同的命题类

灵活性的另一个方面是创建新产品的能力 断言/命题类型,并在不声明 要导入的静态方法可能存在冲突。这可以是新的 类型(例如,添加protobufs)或现有类型的新用途(例如, 被视为URI的字符串)。这是assertAbout()功能

除此之外,真相与AssertJ非常相似,因为它是 灵感来源于FEST,其中AssertJ是2.0开发的一个分支 线路


总而言之,Truth的设计更具可扩展性和灵活性,但AssertJ将非常适合(可能是最好的)对标准类型的断言。

谢谢,Michal,我认为尝试一下是很重要的