发布于 2017-07-21 00:55:07 | 153 次阅读 | 评论: 0 | 来源: 网友投递
JUnit Java单元测试框架
JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 JUnit有它自己的JUnit扩展生态圈。多数Java的开发环境都已经集成了JUnit作为单元测试的工具。
OverOps 于 7 月 19 日发布了 2017 版的 “GitHub Java 流行库 Top 100 ”。他们首先通过结合 Google BigQuery 以及各项目在 GitHub 上的 star 数选出前 1000 个 Java 存储库,然后过滤掉 Android 、Arduino 和一些弃用的 repos ,仅留下 477 个纯 Java 项目。最后,再结合项目的 unique imports 进行计数,最后得出结果。详细的计算方式可查阅 (注:OverOps 是一家旨在帮助更有效地发现代码中的错误的公司)
前 20 名如下:
JUnit 是 GitHub 中最流行的 Java 库,与去年保持同样的地位。不仅如此,基于其拓展而来的 JUnitRunner 和 Junit Framework 分别占据了第 2 名和第 3 名的位置。我们甚至可以说,前三甲被 JUnit 承包了。
开源测试框架 Mockito 排名第 4 ,日志组件 slf4j 位列第 5 。slf4j 的受欢迎程度反映了开发者对日志记录的依赖,也侧面反映了标准 java.util.logging 库的低人气。
辅助在 JUnit 和 jMock 中进行测试的框架 Hamcrest 位于第 6 位,这也说明了开发者对更好的测试环境的需求。
从这些测试工具的高排名不难看出测试的重要性。我们可以认为,生产错误是开发者面临的最大痛苦之一,因此他们在尽可能地去避免。
此外,Google Guava 排名第 7 ,最受欢迎的 JSON 库是 Jackson 。org.w3c.dom 是首次进入前 20 ,它提供了操纵 DOM(文档对象模型)的接口。
而纵观前 100 名,我们可以看到,Spring 具有广泛的代表性,有 8 个库入榜:
#57 – org.springframework.beans.factory.annotation
#60 – org.springframework.context
#65 – org.springframework.context.annotation
#66 – org.springframework.stereotype
#68 – org.springframework.util
#81 – org.springframework.test.context.junit4
#85 – org.springframework.beans.factory
#91 – org.springframework.web.bind.annotation
还有就是被广泛使用的 Apache 库,有 17 个库入榜:
#16 – org.apache.commons.io
#22 – org.apache.http
#24 – org.apache.commons.lang
#25 – org.apache.http.impl.client
#30 – org.apache.http.client
#33 – org.apache.http.client.methods
#34 – org.apache.log4j
#35 – org.apache.commons.codec.binary
#45 – org.apache.commons.lang3
#53 – org.apache.http.entity
#61 – org.apache.http.util
#64 – org.apache.commons.logging
#75 – org.apache.http.message
#88 – org.apache.zookeeper
#95 – org.apache.hadoop.conf
#98 – org.apache.http.client.config
#100 – org.apache.http.client.utils
最后,还有一个值得注意的库是 AssertJ ,这是一个为写作断言提供流畅界面的库,在 2017 年已上升至第 50 名。