知识大全 探索JUnit 4.4 新特性[5]
Posted 函数
篇首语:天下之事常成于困约,而败于奢靡。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 探索JUnit 4.4 新特性[5]相关的知识,希望对你有一定的参考价值。
探索JUnit 4.4 新特性[5] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
清单 假设机制优点 举例
@Test//测试用例函数veryLongTest()执行需要很长时间 所以开发人员不是每次都想运行它 可以通过判断是否定义了// DEV 环境变量来选择性地执行该测试用例public void veryLongTest() throws Exception //假设环境变量 DEV 为空 即如果之前通过System setProperty定义过 DEV 环境变量(不为空) 则自动跳过 //veryLongTest中假设后剩下的语句 去执行下一个JUnit测试用例 否则执行假设后接下来的语句 assumeThat( System getProperty( DEV ) nullValue() );
System out println( running a long test ); Thread sleep( * );
如何使用 Assumption 假设机制
开发人员可以使用 assumeThat 并配合 hamcrest 的匹配符 Matcher 对即将被传入到单元测试用例函数中的 runtime 变量值做精确的假设 如果假设不正确(即当前 runtime 变量的取值不满足所假设的条件) 则不会将该变量传给该测试用例中假设后面的语句 即程序会从该 assumeThat 所在的 @Test 测试函数中直接自动跳出(test automatically quietly passes values that violate assumptions are quietly ignored) 去执行下一个 @Test 函数 使得本来会中断的测试现在不会中断
使用假设机制必须得注意以下几点
由于 JUnit 引用了 Hamcrest 匹配符库 所以使用 assumeThat 就可以编写所有的假设语句 但是为了方便使用 JUnit 除 assumeThat 之外 还提供了 assumeTrue assumeNotNull 和 assumeNoException 语句 要使用 assume* 假设语句 必须得 import static junit Assume *; 如果引用了第三方 hamcrest 的匹配符库 必须得 import static hamcrest Matchers *; 如果引用 JUnit 自带的匹配符库 需要 import static hamcrest CoreMatchers *;
清单 假设机制使用举例
例
@Testpublic void filenameIncludesString() //如果文件分隔符不是 / (forward slash) 则不执行assertThat断言测试 直接跳过该测试用例函数 assumeThat(File separatorChar is( / )); //判断文件名fileName是否含有字符串 developerWorks assertThat( fileName containsString( developerWorks ) );例
@Testpublic void filenameIncludesString() //bugFixed不是JUnit 的函数 是开发人员自己工程中定义的函数 表示判断指定的defect是否 //被修正了 如果被修正 则返回true 否则返回false 这里假设缺陷 被修正后才进行余下单元测试 assumeTrue( bugFixed( ) ); //判断文件名fileName是否含有字符串 developerWorks assertThat( fileName containsString( developerWorks ) );理论机制(Theory)
为什么要引用理论机制(Theory)
当今软件开发中 测试驱动开发(TDD — Test driven development)越发流行 为什么 TDD 会如此流行呢?因为它确实拥有很多优点 它允许开发人员通过简单的例子来指定和表明他们代码的行为意图
cha138/Article/program/Java/ky/201311/29101相关参考
探索JUnit4.4新特性[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 清单assert
探索JUnit4.4新特性[2] 以下文字资料是由(全榜网网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新特性[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 假设机制(Ass
探索JUnit4.4新特性[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 文通过理论分析和
知识大全 驾驭“野马”-- 探索Java SE 6的一些新特性
驾驭“野马”--探索JavaSE6的一些新特性 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! s
知识大全 Spring 2.5.6新特性之packagesToScan
Spring2.5.6新特性之packagesToScan 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一
MySQL5.0新特性教程存储过程:第二讲 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Why