您好,欢迎访问三七文档
当前位置:首页 > 中学教育 > 初中教育 > 单元测试_Junit教程
一、环境配置等1.软件环境EclipseJUnit42.为项目添加JUnit4库(该步骤可在创建JAVA项目时直接添加)A.添加Eclipse自带的Junit4打开项目(Project)属性页(Property)选择JavaBuildPath点击AddLibrary-在弹出的对话框中选择JUnit-选择JUnit版本后点击Finish.(图2.1)图2.1B添加Junit其他方法打开项目属性页-选择JavaBuildPath-点击AddExternalJARS-选择JUnit地址后点击确定.(图2.2)图2.23.修改代码目录(可选项)分别为单元测试代码与被测试代码创建单独的目录,单元测试代码和被测试代码使用一样的包,不同的目录。选择项目属性-选择JavaBuildPath-在根目录下添加一个新目录,并把它加入到项目源代码目录中.(图3.1)图3.14.JUnit元数据(知识性内容,可先Pass,以后再来了解)@Before:使用了该元数据的方法在每个测试方法执行之前都要执行一次。@After:使用了该元数据的方法在每个测试方法执行之后要执行一次。注意:@Before和@After标示的方法只能各有一个。这个相当于取代了JUnit以前版本中的setUp和tearDown方法,当然你还可以继续叫这个名字,不过JUnit不会霸道的要求你这么做了。@Test(expected=*.class)在JUnit4.0之前,对错误的测试,我们只能通过fail来产生一个错误,并在try块里面assertTrue(true)来测试。现在,通过@Test元数据中的expected属性。expected属性的值是一个异常的类型@Test(timeout=xxx):该元数据传入了一个时间(毫秒)给测试方法,如果测试方法在制定的时间之内没有运行完,则测试也失败。@ignore:该元数据标记的测试方法在测试中会被忽略。当测试的方法还没有实现,或者测试的方法已经过时,或者在某种条件下才能测试该方法(比如需要一个数据库联接,而在本地测试的时候,数据库并没有连接),那么使用该标签来标示这个方法。同时,你可以为该标签传递一个String的参数,来表明为什么会忽略这个测试方法。比如:@lgnore(“该方法还没有实现”),在执行的时候,仅会报告该方法没有实现,而不会运行测试方法。二、建立被测类Calculator1、新建项目JUnitExample2、新建计算器类CalculatorpublicclassCalculator{privatestaticintresult=0;//静态变量,用于存储运行结果publicvoidadd(intm,intn){result=m+n;}publicvoidsubstract(intm,intn){result=m-n+1;//Bug:正确的应该是result=m-n}publicvoidmultiply(intm,intn){}//此方法尚未写好publicvoiddivide(intm,intn){result=m/n;}publicvoidsquare(intm){result=m*m;}publicvoidsquareRoot(intn){for(;;);//Bug:死循环}publicvoidclear(){//将结果清零result=0;}publicintgetResult(){returnresult;}}三、建立测试类TestCalculatorimportstaticorg.junit.Assert.*;importorg.junit.Test;publicclassCalculatorTest{privatestaticCalculatorcalculator=newCalculator();@Test//标识publicvoidtestAdd(){calculator.add(2,3);assertEquals(5,calculator.getResult());calculator.add(3,4);assertEquals(9,calculator.getResult());//此错用于了解assertEquals机制}@TestpublicvoidtestSubstract(){calculator.substract(2,3);assertEquals(-1,calculator.getResult());//原方法有错}@TestpublicvoidtestMultiply(){}@TestpublicvoidtestDivide(){calculator.divide(8,2);assertEquals(4,calculator.getResult());}}四、测试
本文标题:单元测试_Junit教程
链接地址:https://www.777doc.com/doc-2605919 .html