版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
定,这一小部分功能是正确的。但是,我们同时应该确保每一个函数都完全正bug之后都应该对这个函数的方方面面进试这样的测试我们称之为单元测试。因为如此麻烦,所以程序员们编写单元测试的热情不是很高。于是有一个牛人推出了单元测试包,大大简化了进行单元测试所要做的工作,这就是JUnit4。Eclipse3.2JUnit4首先,我们来一个傻瓜式速成,不要问为什么,FollowMe,先来体验一下单元测试的!packagepublicclassCalculatorprivatestaticintresult;//静态变量,用于运行结publicvoidadd(intn)...{result=result+n;}publicvoidsubstract(intn)result=result-1;//Bug:正确的应该是result=result-}publicvoidmultiply(intn)publicvoiddivide(intn)...{result=result/n;}publicvoidsquare(intn)...{result=n*n;}publicvoidsquareRoot(intn)for(;;);//Bug:死循环}publicvoidclear()...{//将结果result=}publicintgetResult()...{returnresult;}}在弹出的属性窗口中,首先在左边选择“JavaBuildPath”,然后到右上点击该类弹出菜单,选择“JUnit测试用例”。如下图所示:在弹出的框中,进行相应的选择,如下图所示CalculatorTest,里面包含一些空的测试用packageimportstaticorg.junit.Assert.*;importorg.junit.Before;importorg.junit.Ignore;importorg.junit.Test;publicclassCalculatorTestprivatestaticCalculatorcalculator=newCalculator();publicvoidsetUp()throwsException...{}publicvoidtestAdd()...{assertEquals(5,}publicvoidtestSubstract()...{assertEquals(8,}@Ignore("Multiply()Notyetimplemented")publicvoidtestMultiply()}publicvoidtestDivide()...{assertEquals(4,}}第四步运试代码按照上述代码修改完毕后我们在类上点右键,选择“RunAsàJUnitTest”来运行我们的测试,如下图所示:进度条是红颜色表示发现错误具体的在进度条上面有表示“共进41EclipseJUnit4。JUnit4Package还有一句话也非常地重要“importstaticorg.junit.Assert.*;”,我们在测assertEqualsAssertAssert.二、测试类的一个测试类,它与普通类的区别在于它内部的方法的,我们接着会讲到。privatestaticCalculatorcalculator四、测试方法的publicvoidtestAdd()...{assertEquals(5,}0235。如果最终实际结果也是5,则说明add方法是正确的,反明它是错的。assertEquals(5,写好之后,JUnit会自动进试并把反馈给用户。wordendJunitspringJunitJUnit及其相关的单元测试技术六、忽略测试某些尚未完成的方法尚未完成那么测试的时候一定是“失败”这种失败和真正是有区别的,因此JUnit提供了法来区别他们,那就是在这种测试函数的前面加上这样的话就会提示你有几个测试被忽略,而不是失败。一旦你完成了相应函数,只需要把@Ignore七、Fixture(Fixture试,由于只了一个Calculator对象,他的初始值是0,但是测试完加法操0CalculatorFixture,我们用@BeforepublicvoidsetUp()throwsException...{}Fixture,使用@AfterFixture@Before@After,我们来看看他们是否适合完成如下功能:有一个类是负责对大文件(超过500操作。如果我们使用@Before和@After,那么每次测试都要一次文件,效率它给出了@BeforeClass和@AfterClassFixtureFixture行@BeforeClass@AfterClass工作。在这里要注意一下,每个测试类只能有一个方法被标注为@BeforeClass或@AfterClass,PublicStaticpublicvoidsquareRoot(intn)for(;;);//Bug:死循环}函数结束的原因是因为超时,这样你就可以发现这些Bug了。要实现这能,只需要给@Test@Test(timeout=publicvoidsquareRoot()...{assertEquals(2,calculator.getResult());}三、测试异常JAVABug,并JUnitBug。例如,我们写的计算器类有除能,如果除数是一个0,那么必然要抛出“除0异常”。因此,我们很有必要对这些进试。代码如下:@Test(expected=ArithmeticException.class)publicvoiddivideByZero()...{}如上述代码所示,我们需要使用@Testexpected四、RunnerRunnerRunnerRunnerJUnitRunner,Rernal.runners.TestClassRunner;importorg.junit.runner.RunWith;publicclassCalculatorTest...{}publicclassCalculatorTest}Runner,需要使用@RunWithRunner,那么这个类中的所有函数都被这个Runner来调用最后了包含相应的Package哦,上面的例子对这一点写的很清楚了。接下来,我会向展示其他RunnerwordendJunitspringJunitJUnitimportorg.junit.AfterClass;importorg.junit.Before;importorg.junit.BeforeClass;importorg.junit.Test;importstaticorg.junit.Assert.*;publicclassAdvancedTest...{privatestaticCalculatorcalculator=newCalculator();publicvoidclearCalculator()...{}publicvoidsquare1()...{assertEquals(4,}publicvoidsquare2()...{assertEquals(0,}publicvoidsquare3()...{assertEquals(9,}}试函数,把这若干种情况作为参数传递进去,的完成测试。代码如下:importstaticorg.junit.Assert.assertEquals;importorg.junit.Test;importimportimportorg.junit.runners.Parameterized.Parameters;importjava.util.Arrays;importjava.util.Collection;publicclassSqua
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 药剂学药品质量标准与检验习题集及答案
- 药物质量标准与检验技术考核试题及答案
- 2026杯装饮料行业并购重组案例与资本运作模式研究报告
- 2026锂资源产业链布局与价格波动趋势分析报告
- 2026餐饮渠道饮料采购行为与供应商选择标准分析报告
- 企业项目质量调整手册
- 通信基站运维手册(标准版)
- 艺术创作与鉴赏指南(标准版)
- 药品研发流程与管理指南(标准版)-1
- 市场调研部门工作手册(标准版)
- 【提炼版】数字中国建设整体布局规划
- GB 48147.1-2026矿山隐蔽致灾因素普查规范第1部分:总则
- 2026年行政执法考试-渔政执法考试历年参考题库含答案解析
- 2026秋新教材人教版四年级上册数学|第三单元 多位数乘两位数 教案(共13课时)
- 动火安全作业规程培训课件
- 二上4彩虹教学课件
- 《化工设备基础》课程标准
- 2024年外研版新七年级 Starter Welcome to junior high!(原卷版)单元测试
- 《钢筋桁架楼承板应用技术规程》TCECS 1069-2022
- 盆底肌电重塑机制-洞察及研究
- 湖南长沙“4·29”特别重大居民自建房倒塌事故调查报告
评论
0/150
提交评论