《用Junit测试计算器单元对象类》由会员分享,可在线阅读,更多相关《用Junit测试计算器单元对象类(8页珍藏版)》请在金锄头文库上搜索。
1、实验报告五课程名称:软件测试学生姓名:董月班级:浦计1104班学号:P1401110402指导教师:韩志刚实验日期:2014-5-8南京工业大学电子与信息学院实验五一、 实验内容用java语言编写一个计算器类,求实现加、减、乘、除、求平方根、求绝对值、求倒数1/x,方法,并用junit进行对象类的单元测试。参阅帮助文档。(说明,设计求除法、求倒数的方法,可在方法中不检测x是否为0,测试用例用y/0去测试、求平方根可不检测x0,用负数测试)二、 实验步骤首先新建一个项目叫JUnit_Test,我们编写一个Calculator类,这是一个能够简单实现加减乘除、平方、开方的计算器类,然后对这些功能进
2、行单元测试。建立一个hzg包:建立一个Calculator类:把代码输进类中:package hzg;public class Calculator private static int result; / 静态变量,用于存储运行结果 public void add(int n) result = result + n; public void substract(int n) result = result - 1; /Bug: 正确的应该是 result =result-n public void multiply(int n) result=result*n; public void d
3、ivide(int n) result = result / n; public void square(int n) result = n * n; public void squareRoot(int n) result= (int) Math.sqrt(n); public void clear() / 将结果清零 result = 0; public void reciprocal(int n) result=1/n; public void absolute(int n) result=Math.abs(n);public int getResult() return result;
4、 第二步,将JUnit4单元测试包引入这个项目:在该项目上点右键,点“属性”,在弹出的属性窗口中,首先在左边选择“Java Build Path”,然后到右上选择“Libraries”标签,之后在最右边点击“Add Library”按钮,如下图所示:然后在新弹出的对话框中选择JUnit4并点击确定,如上图所示,JUnit4软件包就被包含进我们这个项目了。第三步,生成JUnit测试框架:在Eclipse的Package Explorer中用右键点击该类弹出菜单,在弹出的对话框中,进行相应的选择加、减、乘、除,之后系统会自动生成一个新类CalculatorTest,里面包含一些空的测试用例。只需要
5、将这些测试用例稍作修改即可使用。完整的CalculatorTest代码如下:package hzg;import static org.junit.Assert.*;import org.junit.After;import org.junit.AfterClass;import org.junit.Before;import org.junit.BeforeClass;import org.junit.Test;public class CalculatorTest private static Calculator calculator = new Calculator();BeforeC
6、lasspublic static void setUpBeforeClass() throws Exception AfterClasspublic static void tearDownAfterClass() throws Exception Beforepublic void setUp() throws Exception calculator.clear();Afterpublic void tearDown() throws Exception Testpublic void testAdd() calculator.add(3); calculator.add(4); ass
7、ertEquals(7, calculator.getResult();Testpublic void testSubstract() calculator.add(8);calculator.substract(2);assertEquals(6, calculator.getResult();Testpublic void testMultiply() calculator.add(4);calculator.multiply(5);assertEquals(20, calculator.getResult();Testpublic void testDivide() calculator
8、.add(6);calculator.divide(3);assertEquals(2, calculator.getResult();Testpublic void testSquare() calculator.square(-2);assertEquals(4,calculator.getResult();Testpublic void testSquareRoot() calculator.squareRoot(100);assertEquals(10,calculator.getResult();Testpublic void testReciprocal() calculator.reciprocal(5);assertEquals(0,calculator.getResult();Testpublic void testAbsolute() calculator.absolute(-7);assertEquals(7, calculator.getResult();运行结果如下:将除法进行修改:将减法的bug进行修改public void substract(int n) result = result - 1; /Bug: 正确的应该是 result =result-n