0


软件质量保证与测试技术实验报告(四)——JUnit单元测试

1.实验名称——JUnit单元测试

2.实验目的

(1)利用Junit进行单元测试,理解单元测试的任务、同时理解这类测试工具的实现原理;
(2)理解断言的基本概念和断言测试方法;

3.实验内容

题目1:完成课件中Score_List的单元测试。
题目2:这是一个简单的计算器类——Computer,能够实现两个整数的加、减、乘、除运算(具体代码见附录C),请利用Junit进行单元测试。

4.实验过程

题目1:完成课件中Score_List的单元测试:从分数表中查找最大值。
Score_List.java

packageScore;publicclassScore_List{publicstaticintmaximum(int[] list){int index;int max =Integer.MIN_VALUE;if(list.length ==0){thrownewRuntimeException("空表");}for(index =0; index<=list.length-1; index++){if(list[index]>max) max = list[index];}return max;}}

Score_ListTest.java

packageScore;importjunit.framework.TestCase;importjunit.framework.TestSuite;publicclassScore_ListTestextendsTestCase{publicScore_ListTest(String testName){super(testName);}//测试表中有3个分数publicvoidtestOne(){int[] list =newint[3];
         list[0]=7;
         list[1]=9;
         list[2]=8;int expResult =9;int result =Score_List.maximum(list);assertEquals(expResult, result);}//测试表中有1个分数publicvoidtestTwo(){int[] list =newint[1];
        list[0]=9;int expResult =9;int result =Score_List.maximum(list);assertEquals(expResult, result);}//测试表为空的情况publicvoidtestThree(){try{Score_List.maximum(newint[]{});fail("这里应抛出而没有抛出异常");}catch(RuntimeException e){assertTrue(true);}}publicstaticTestSuitesuite(){TestSuite suite=newTestSuite();
     suite.addTest(newScore_ListTest("testOne"));
     suite.addTest(newScore_ListTest("testTwo"));
     suite.addTest(newScore_ListTest("testThree"));return suite;}}

运行截图:
在这里插入图片描述
题目2:这是一个简单的计算器类——Computer,能够实现两个整数的加、减、乘、除运算(具体代码见附录C),请利用Junit进行单元测试。
Computer.java

packagetest;publicclassComputer{privateint a;privateint b;publicComputer(int x,int y){
    a=x;
    b=y;}publicintadd(){return a+b;}publicintminus(){return a-b;}publicintmultiply(){return a*b;}publicintdivide(){if(b!=0)return a/b;elsereturn0;}}

ComputerTest.java

packagetest;importjunit.framework.TestCase;importjunit.framework.TestSuite;publicclassComputerTestextendsTestCase{Computer a;publicComputerTest(String testName){super(testName);}protectedvoidsetup(){
    a=newComputer(1,2);}publicvoidtestAdd(){setup();int expResult =3;int result = a.add();assertEquals(expResult, result);}publicvoidtestMinus(){setup();int expResult =-1;int result = a.minus();assertEquals(expResult, result);}publicvoidtestMultiply(){setup();int expResult =2;int result = a.multiply();assertEquals(expResult, result);}publicvoidtestDivide(){setup();int expResult =0;int result = a.divide();assertEquals(expResult, result);}publicstaticTestSuitesuite(){TestSuite suite=newTestSuite();
     suite.addTest(newComputerTest("testAdd"));
     suite.addTest(newComputerTest("testMinus")); 
     suite.addTest(newComputerTest("testMultiply")); 
     suite.addTest(newComputerTest("testDivide"));return suite;}}

在这里插入图片描述

5.实验心得

通过本次实验,我学会了利用Junit进行单元测试,理解了单元测试的任务和这类测试工具的实现原理,并且理解了断言的基本概念和断言测试方法。

附录:Computer类源代码

publicclassComputer{privateint a;privateint b;publicComputer(int x,int y){ a=x;
 b=y;}publicintadd(){return a+b;}publicintminus(){return a-b;}publicintmultiply(){return a*b;}publicintdivide(){if(b!=0)return a/b;elsereturn0;}}
标签: junit 单元测试 java

本文转载自: https://blog.csdn.net/weixin_55346654/article/details/130160237
版权归原作者 尘埃的塵 所有, 如有侵权,请联系我们删除。

“软件质量保证与测试技术实验报告(四)——JUnit单元测试”的评论:

还没有评论