快速业务通道

JUnit 4.4新特性 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-21
指定Theories.class import org.junit.experimental.theories.Theory; //注释@Theory指定理论的测试函数 import org.junit.runner.RunWith; //需要使用@RunWith指定接下来运行测试的类 import org.junit.Test; //注意:必须得使用@RunWith指定Theories.class @RunWith(Theories.class) public class TheoryTest {    //利用注释@DataPoint来指定一组数据集,这些数据集中的数据用来证明或反驳接下来定义的Theory理论,    //testNames1和testNames2这两个理论Theory测试函数的参数都是String,所以Junit4.4会将这5个    //@DataPoint定义的String进行两两组合,统统一一传入到testNames1和testNames2中,所以参数名year    //和name是不起任何作用的,"2007"同样有机会会传给参数name,"Works"也同样有机会传给参数year    @DataPoint public static String YEAR_2007 = "2007";    @DataPoint public static String YEAR_2008 = "2008";    @DataPoint public static String NAME1 = "developer";    @DataPoint public static String NAME2 = "Works";    @DataPoint public static String NAME3 = "developerWorks";    //注意:使用@Theory来指定测试函数,而不是@Test    @Theory    public void testNames1( String year, String name ) {      assumeThat( year, is("2007") ); //year必须是"2007",否则跳过该测试函数      System.out.println( year + "-" + name );      assertThat( year, is("2007") ); //这里的断言语句没有实际意义,这里举此例只是为了不中断测试    }    //注意:使用@Theory来指定测试函数,而不是@Test    @Theory    public void testNames2( String year, String name ) {      assumeThat(year, is("2007")); //year必须是"2007",否则跳过该测试函数      //name必须既不是"2007"也不是"2008",否则跳过该测试函数      assumeThat(name, allOf( not(is("2007")), not(is("2008"))));      System.out.println( year + "-" + name );      assertThat( year, is("2007") ); //这里的断言语句没有实际意义,这里举此例只是为了不中断测试    } 结果输出: 第一个Theory打印出: 2007-2007 2007-2008 2007-developer 2007-Works 2007-developerWorks 第二个Theory打印出: 2007-developer 2007-Works 2007-developerWorks

结束语

本文通过详细深入的理论介绍和简单易懂的实例全面剖析了 JUnit 4.4 的三个新特性:

提供了新的断言语法(assertion syntax)——assertThat

提供了假设机制(assumptions)

提供了理论机制(Theories)

相信读者看完后一定会对 JUnit 4.4 有着非常深入的了解并可以轻松将其运用到自己的开发工程中。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号