JUnit单元测试框架 张明生PPT学习教案_第1页
JUnit单元测试框架 张明生PPT学习教案_第2页
JUnit单元测试框架 张明生PPT学习教案_第3页
JUnit单元测试框架 张明生PPT学习教案_第4页
JUnit单元测试框架 张明生PPT学习教案_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、会计学1JUnit单元测试框架单元测试框架 张明生张明生第1页/共39页第2页/共39页第3页/共39页第4页/共39页第5页/共39页开发代码开发代码部分部分测试代码部分测试代码部分测试工具部分测试工具部分待测试类待测试类 A通过扩展通过扩展 TestCase 或或者构造者构造 TestSuite 方法方法编写测试类编写测试类 B一个测试运行器一个测试运行器(TestRunner)R,可以选择图形界面或可以选择图形界面或文本界面文本界面v操作步骤:操作步骤: 将将 B 通过命令行方式或图形界面选择方式传递给通过命令行方式或图形界面选择方式传递给 R,R 自动运行测试,并显示结果。自动运行测试

2、,并显示结果。第6页/共39页第7页/共39页9.2 JUnit 核心简介核心简介第8页/共39页TestSuiteTestCaseTestRunnerTestResultThemeGallery is a Design Digital Content & Contents mall developed by Guild Design Inc.第9页/共39页第10页/共39页第11页/共39页第12页/共39页第13页/共39页第14页/共39页第15页/共39页n前三个类和后4个类紧密配合,形成JUnit框架的核心。第16页/共39页第17页/共39页第18页/共39页第19页/共39页第

3、20页/共39页描述描述测试测试a是否等于是否等于b测试测试a是否为是否为false,a是一个是一个Boolean值值测试测试a是否非空是否非空,a是一个对象或者是一个对象或者null测试测试a和和b是否没有都引用同一个对是否没有都引用同一个对象象测试测试a是否为是否为null,a是一个对象或者是一个对象或者null测试测试a和和b是否都引用同一个对象是否都引用同一个对象测试测试a是否为是否为true,a是一个是一个Boolean值值第21页/共39页第22页/共39页简单的说,JUnit工作流程就是:一个TestRunner运行一个TestSuite该TestSuite可以由一个或多个Tes

4、tCases(或者由其他的TestSuites)所组成。运行的测试结果由TestResult收集,由TestRunner来报告这些信息。在常规工作中,你大多只和TestCase打交道第23页/共39页第24页/共39页第25页/共39页第26页/共39页第27页/共39页第28页/共39页public class Calculator public int add(int a, int b)return a + b; public int minus(int a, int b)return a - b; public int multiply(int a, int b)return a * b

5、; public int divide(int a, int b) throws Exception if(0 = b) throw new Exception(除数不能为零!); return a / b; 第29页/共39页public class CalculatorTest extends TestCase private Calculator cal;public void setUp() cal = new Calculator(); public void tearDown() 测试类必须以TestCase为父类 每个测试方法执行前都会调用该方法析构测试环境,执行收尾动作生成对象

6、第30页/共39页public void testAdd() int result = cal.add(1,2);Assert.assertEquals (3,result); public void testMinus() int result = cal.minus(1,2);Assert.assertEquals(-1,result);public void testMultiply() int result = cal.multiply(2,3);Assert.assertEquals(6,result);Junit3.8测试方法需满足: 1)Public的2)Void的3)无方法参数

7、4)方法名称必须以test开头断言调用该方法第31页/共39页public void testDivide() int result = 0;tryresult = cal.divide(6,4); catch (Exception e)e.printStackTrace();Assert.fail();Assert.assertEquals(1,result);期望该行代码永远不会被执行,断言失败,停止执行立即失败第32页/共39页public void testDivide2() Throwable tx = null;trycal.divide(4,0); Assert.fail();

8、catch(Exception ex)tx = ex;Assert.assertNotNull(tx); Assert.assertEquals(Exception.class,tx.getClass();Assert.assertEquals(除数不能为零!,tx.getMessage();一个方法可以有多个测试方法,输入的不同情况会有不同的testcase出现tx是Exception类型的一旦发生异常,则tx一定不为空期望该行代码永远不会被执行,断言失败,停止执行立即失败第33页/共39页第34页/共39页第35页/共39页第36页/共39页第37页/共39页public class TestAll extends TestCasepublic static Test suite()TestSuite suite = new TestSuite(); suite.addTestSuite(CalculatorTest.class);suite.addTestSuite(Largest

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论