今天是六一儿童节,天气很好,起得很早,结果就是为了搞清楚JUnit里的各种断言是怎么来的。
junit和hamcrest是两个不同的框架,不同的东西。只不过是junit使用了hamcrest框架而已。
在junit上下载的junit的包解压开见下图:

刚下载的JUnit的jar包解压开的文件。
junit-4.10.jar :包含junit-dep-4.10.jar全部内容和必要的harmcres的包,
junit-4.10-src:是源代码,但不包含org.harmcres.*相关的源代码(在图中temp.hamcrest.source中)。
junit-dep-4.10.jar :是junit的包,不含harmcres的相关的类,import此包还需引入harmcres相关的包。
下载到关于hamcrest的相关的一系列的包(如果是java就下载jar的包)

hamcrest-all-1.3.ORC2.ajr:几乎包含所有的hamctest的类(没有验证过)。
hamcrest-core-1.3.ORC2.jar:hamcrest的核心包,使用hamcrest框架必须引入的包。(junit官方给的包就包含了该包)
hamcrest-library-1.3.ORC2.jar:包含各种断言,补充hamcrest core包中的断言。
使用是导入包的方案:junit.jar + hamcrest-core.jar + hamcrest-library.jar
或者是:junit-dep.ajr+hancrest-all.jar
这两种导入方法虽然尽量避免了导入重复的包,但使用时还是遇到了冲突。查看包中各类和文档后发现有些类(例如:断言is())同时出现在了org.hamcrest.Mathchers和org.hamcrest.core中,则在用到时候引入的时候需要注意。
今天还发现一个比较好的网站,可以下载各种包和文档api,今天是在harmcrest官网上找了半天没有api,结果在这里给找到了
本文详细解析了JUnit与Hamcrest的关系及如何使用这两个框架进行单元测试。介绍了JUnit不同版本的jar包及其包含的内容,并解释了Hamcrest的核心包与补充包的作用。此外,还给出了避免包冲突的方法。
874

被折叠的 条评论
为什么被折叠?



