知识大全 探索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

相关参考

知识大全 探索JUnit 4.4 新特性[3]

探索JUnit4.4新特性[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  清单assert

知识大全 探索JUnit 4.4 新特性[2]

探索JUnit4.4新特性[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  优点assert

知识大全 探索JUnit 4.4 新特性[8]

探索JUnit4.4新特性[8]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  清单理论机制举例

知识大全 探索JUnit 4.4 新特性[7]

探索JUnit4.4新特性[7]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  清单英镑Poun

知识大全 探索JUnit 4.4 新特性[6]

探索JUnit4.4新特性[6]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  TDD的优点  

知识大全 探索JUnit 4.4 新特性[4]

探索JUnit4.4新特性[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  假设机制(Ass

知识大全 探索JUnit 4.4 新特性[1]

探索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)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 MySQL 5.0 新特性教程 存储过程:第二讲

MySQL5.0新特性教程存储过程:第二讲  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Why