知识大全 探索JUnit 4.4 新特性[2]
Posted 知
篇首语:不入虎穴,焉得虎子?本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 探索JUnit 4.4 新特性[2]相关的知识,希望对你有一定的参考价值。
探索JUnit 4.4 新特性[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
优点 assertThat 不再像 assertEquals 那样 使用比较难懂的 谓宾主 语法模式(如 assertEquals( x) ) 相反 assertThat 使用了类似于 主谓宾 的易读语法模式(如 assertThat(x is( )) ) 使得代码更加直观 易读
优点 可以将这些 Matcher 匹配符联合起来灵活使用 达到更多目的 如清单 所示
清单 Matcher 匹配符联合使用
// 联合匹配符not和equalTo表示 不等于 assertThat( something not( equalTo( developer ) ) ); // 联合匹配符not和containsString表示 不包含子字符串 assertThat( something not( containsString( Works ) ) ); // 联合匹配符anyOf和containsString表示 包含任何一个子字符串 assertThat(something anyOf(containsString( developer ) containsString( Works )));优点 错误信息更加易懂 可读且具有描述性(descriptive)
JUnit 以前的版本默认出错后不会抛出额外提示信息 如
assertTrue( s indexOf( developer ) > || s indexOf( Works ) > );如果该断言出错 只会抛出无用的错误信息 如 junit framework AssertionFailedError null
如果想在出错时想打印出一些有用的提示信息 必须得程序员另外手动写 如
assertTrue( Expected a string containing developer or Works s indexOf( developer ) > || s indexOf( Works ) > );非常的不方便 而且需要额外代码
JUnit 会默认自动提供一些可读的描述信息 如清单 所示
清单 JUnit 默认提供一些可读的描述性错误信息
String s = hello world! ;assertThat( s anyOf( containsString( developer ) containsString( Works ) ) );// 如果出错后 系统会自动抛出以下提示信息 java lang AssertionError:Expected: (a string containing developer or a string containing Works )got: hello world!优点 开发人员可以通过实现 Matcher 接口 定制自己想要的匹配符 当开发人员发现自己的某些测试代码在不同的测试中重复出现 经常被使用 这时用户就可以自定义匹配符 将这些代码绑定在一个断言语句中 从而可以达到减少重复代码并且更加易读的目的
如何使用 assertThat
JUnit 自带了一些 Hamcrest 的匹配符 Matcher 但是只有有限的几个 在类 hamcrest CoreMatchers 中定义 要想使用他们 必须导入包 hamcrest CoreMatchers *
如果想使用一些其他更多的匹配符 Matcher 可以从 Hamcrest 网页下载 hamcrest library jar 和 hamcrest core jar 并将其加入到工程库中 所有的匹配符都在类 hamcrest Matchers 中定义 要想使用 必须得在代码中 import static hamcrest Matchers * 如果使用外部的匹配符 最好就不要再使用 JUnit 自带的匹配符了 因为这样容易导致匹配符 Matcher 重复定义 编译可能会出错(ambiguous for the type) JUnit 允许使用 Hamcrest 来使用更多的匹配符 这还是 JUnit 第一次允许在自己的工程中使用第三方类
注意
assertThat 仍然是断言语句 所以要想使用 必须还得 import static junit Assert *
虽然 assertThat 可以代替以前所有的断言语句 但是以前的所有 assert 语句仍然可以继续使用 清单 列举了大部分 assertThat 的使用例子
cha138/Article/program/Java/ky/201311/29098相关参考
探索JUnit4.4新特性[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 清单assert
探索JUnit4.4新特性[8] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 清单理论机制举例
探索JUnit4.4新特性[7] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 清单英镑Poun
探索JUnit4.4新特性[6] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! TDD的优点
探索JUnit4.4新特性[5] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 清单假设机制优点
探索JUnit4.4新特性[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 假设机制(Ass
探索JUnit4.4新特性[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 文通过理论分析和
知识大全 驾驭“野马”-- 探索Java SE 6的一些新特性
驾驭“野马”--探索JavaSE6的一些新特性 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! s
关于JUnit实现过程详细介绍[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n
名词解释什么是JUnit?[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 写一个测试方法断