![hamcrest的jar包](https://img-blog.csdnimg.cn/img_convert/7d86d050e63a89ab02d6785634f0fcab.png)
hamcrest的jar包
我在Hamcrest库上做了几篇文章,我确实很喜欢使用它,但是我希望对其进行一些更改。 我了解他们做出的大多数设计决策,但我认为其中一些确实不值得。
介绍Litecrest
我对库所做的大多数更改都有助于减轻Hamcrest的负担,因为我觉得有些事情不必要地减轻了负担。 这就是为什么我将更改称为Litecrest。 它不会是一个实际的库; 这只是大声思考。 我也希望您能从中学到一些有关设计库的知识。
没有说明
Description
接口以及StringDescription
和BaseDescription
类实际上并不值得。 他们提供了列表转换为字符串好看一些不错的方法,但toString()
在所有这些方法应该是足够的。 如果不是这样,可以在BaseMatcher
上放置一些protected final
方法,以方便地为列表构建字符串。 当然,这并没有真正遵循SRP密切,所以你可以使用类似Description
,以提供方便的方法。
说明,否则不是很有帮助。 它的存在性假设它专门用于提供从长远来看可能不是String的输出。 作为一个使用良好的库,将其从String更改为与输出无关的类型会破坏向后兼容,但这种更改不太可能需要。 应用YAGNI , Description
类就在厕所下面。