欢迎来到天天文库
浏览记录
ID:25140563
大小:55.18 KB
页数:5页
时间:2018-11-18
《[计算机]junit4入门教程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、http://sjtutmz.blog.163.com/blog/static/98888660201121010474199/JUnit4入门教程在JUnit3中我们是怎样写一个单元测试的。比如下面一个类:publicclassAddOperation{ publicintadd(intx,inty){ returnx+y; }}我们要测试add这个方法,我们写单元测试得这么写:importjunit.framework.TestCase;importstaticorg.junit.Assert.*;publicclassAd
2、dOperationTestextendsTestCase{ publicvoidtestAdd(){ System.out.println("add"); intx=0; inty=0; AddOperationinstance=newAddOperation(); intexpResult=0; intresult=instance.add(x,y); assertEquals(expResult,result); }}
3、注:可以看到上面的类使用了JDK5中的静态导入,这个相对来说就很简单,只要在import关键字后面加上static关键字,就可以把后面的类的static的变量和方法导入到这个类中,调用的时候和调用自己的方法没有任何区别。我们可以看到上面那个单元测试有一些比较霸道的地方,表现在:1.单元测试类必须继承自TestCase。2.要测试的方法必须以test开头。下面我们就演示一个在junit4下面的示例一个方法类:publicclassT{publicintadd(intx,inty){returnx+y;}publicintdivide(intx,inty){return
4、x/y;}}该方法的junit4测试类:importstaticorg.hamcrest.Matchers.allOf;importstaticorg.hamcrest.Matchers.greaterThan;importstaticorg.hamcrest.Matchers.is;importstaticorg.hamcrest.Matchers.lessThan;importstaticorg.junit.Assert.assertThat;importorg.junit.After;importorg.junit.AfterClass;importorg.j
5、unit.Before;importorg.junit.BeforeClass;importorg.junit.Test;importcom.bjsxt.junit4.T;publicclassTTest{@BeforeClasspublicstaticvoidbeforeClass(){ System.out.println("beforeClass");}@AfterClasspublicstaticvoidafterClass(){ System.out.println("afterClass");}@Beforepublicvoidbefore(){
6、 System.out.println("before");}@TestpublicvoidtestAdd(){ intz=newT().add(5,3); assertThat(z,is(8)); assertThat(z,allOf(greaterThan(5),lessThan(10)));}@Test(expected=java.lang.ArithmeticException.class,timeout=100)publicvoidtDivide(){ intz=newT().divide(8,0);}@Afterpublicvoida
7、fter(){ System.out.println("after");}}运行结果显示绿条,控制台输出:beforeClassbeforeafterbeforeAfterafterClass注:当然很多情况下,不是所有的注解都会用到,一般只使用@Test注解就够了我们可以看到,采用Annotation的JUnit已经不会霸道的要求你必须继承自TestCase了,而且测试方法也不必以test开头了,只要以@Test来描述即可。从上面的例子可以看到在JUnit4中还引入了一些其他的元数据,下面一一介绍:@Before:使用了该元数据的方法在每个测试方法执行之前
此文档下载收益归作者所有