一、题目简介
该实践题目内容主要实现加减乘除运算,假定两个整数a,b,利用java语言编写并利用Junit4进行程序模块的测试,回归测试。
二、源码的github链接
源码链接地址:https://github.com/githubmengqian/code
三、所设计的模块测试用例、测试结果截图
该实验主要使用ecplise平台上完成的,编写简单代码,使用junit进行测试工作,该代码主要实现简单的四则运算乘除的运算,主要使用java语言编程,将junit导入ecplise编程环境中,之后
首先需要建立一个java项目,之后将将JUnit4单元测试包引入这个项目:在该项目上点右属性,在新点开的窗口上点击junit,这样就相当于将junit包就包含了我们的项目了
实现该功能的代码,这里命名为Calculate.java
public class Calculate {
public int add(int a, int b){
return a+b;
}
public int minus(int a, int b){
return a-b;
}
public int divide(int a,int b){
return a/b;
}
public int multi(int a, int b){
return a*b;
}
}
主要由于四个方法,用于实现加减乘除四则运算。
在建好的该项目下右键点击新建一个junit Test case,具体实现代码:
TestCalculate.java
package math2;
import org.junit.Before;
import org.junit.Test;
// 静态导入
import static org.junit.Assert.*;
public class TestCalculate {
private Calculate cal;
// 执行任意一个方法之前都会执行setUp方法
@Before
public void setUp(){
cal = new Calculate();
}
// 加了@Test表示该方法是一个单元测试
@Test
public void testAdd(){
/*
* 以下是一个简单的断言的编写
* 第一个参数是如果出错给出的提示信息
* 第二个表示期望值,通常是用户指定的内容
* 第三个表示代码返回的实际值
*/
// Assert.assertEquals("加法有问题", 34, cal.add(12,22));
/*
* 由于包进行了静态导入之后
* Assert中的所有静态方法就不用再添加类名了
* 这样可以有效地兼容junit3
*/
assertEquals("加法有问题", 34, cal.add(12,22));
}
@Test
public void testMinus(){
int res = cal.minus(12, 2);
// Assert.assertEquals("减法有问题", 10, res);
assertEquals("减法有问题", 10, res);
}
// 表示这个测试类应该抛出ArithmeticException,如果不抛出就报错
@Test(expected=ArithmeticException.class)
public void testDivide(){
int res = cal.divide(12, 0);
assertEquals("除法有问题", 6, res);
}
@Test
public void testMulti(){
int res = cal.multi(12, 2);
assertEquals("乘法有问题",24,res);
}
//hamcrest 1.3
}
之后进行一次运行,显示结果为绿色,则说明通过测试。
这时也可以进行测试,例如expected参数,测试异常对象: @Test(expected=ArithmeticException.class),表示检查是否抛出ArithmeticException
将下列代码进行修改,测试其是否抛出异常:
@Test(expected=ArithmeticException.class)
public void testDivide(){
int res = cal.divide(12, 0);
assertEquals("除法有问题", 6, res);
修改后的代码:
// 表示这个测试类应该抛出ArithmeticException,如果不抛出就报错
@Test(expected=ArithmeticException. class)
public void testDivide(){
int res = cal.divide(12, 2);
assertEquals( "除法有问题", 6, res);
}
再次进行运行,结果报错:
四、问题及解决方案、心得体会
通过这次简单的实验编程,自己有了很多新的感触,也学到了了一种新的工具,更加便于自己在后续的学习,自己通过上网上查阅相关关于junit的知识,自己收获颇多,也发现自己以前知识不牢固,忘记很多重点内容,通过这次实验,自己又找到了自己努力的方向和自己下阶段要做的工作。自己也认识到自己的不足之处,未来会不断完善和提高自己的。