使用 JUnit 进行计算器的加减乘除单元测试
实验要求:要求利用 JUnit 单元测试工具,编写计算器的加、减、乘、除功能的 功能代码和测试代码,并完成相应的单元测试。
该实验用到的两个工具:
eclipse;
JUit 4;(一般来说Eclipse在安装的时候就集成了 JUnit,若不存在可以在GitHub中下载相关jar包并导入到库中,相关链接:JUit4)
实验步骤
1.在 Eclipse 中创建一个 Java 项目 calculator,并添加 JUnit 类库,生成 JUnit 测试框架
2.在 Package Explorer 里的 src 上点击鼠标右键,创建一个包,并命名为 weind;在 weind 包上再创建 class,并命名为 calculator1
3.编写 calculator1.java 的源代码,实现简单的加、减、乘、除计算功能。
calculator1.java 的源代码如下:
packageweind;publicclass calculator1 {publicintadd(int a,int b){return a + b;}publicintminus(int a,int b){return a - b;}publicintmultiply(int a,int b){return a * b;}publicintdivide(int a,int b){return a / b;}}
5.在项目上点击右键,创建 source floder,并命名为 testcalculator1。
6.针对待测试类创建 JUnit Test Case。在待测试类 calculator1 上点击鼠标 右键,新建一个 JUnit Test Case,并修改测试代码存放路径。选择 Browse 按钮, 修改存放路径为 testcalculator1 下。系统为测试代码类自动命名为 calculator1Test
7.添加测试方法。仍然在 New JUnit Test Case 对话框中,点击 Next,添加 之前编写的加、减、乘、除四个测试方法。点击 Finish 关闭对话框,就可查看到 在 testcalculator1 下存放的 calculator1Test.java 中显示出四个测试方法
8.编写 Add 方法的测试代码。在 public void testAdd ( ) 中编写如下代码, 页面显示如下
9.编写其他方法的测试代码。
calculator1Test.java 源代码如下:
import static org.junit.Assert.assertEquals;
import org.junit.Test;
import weind.calculator1;
public class calculator1Test {
@Test
public void testAdd() {
// fail("Not yet implemented");
calculator1 c = new calculator1(); // 实例化一个对象
int result = c.add(2, 5); // 对象调用被测方法及传参,add 方法有两个参数
assertEquals(7, result, 0.0);
// Assert.assertEquals (7, result); //使用断言比较预期结果和实际结果
}
@Test
public void testMinus() {
// fail("Not yet implemented");
calculator1 c = new calculator1(); // 实例化一个对象
int result = c.minus(2, 5);
assertEquals(-3, result, 0.0);
}
@Test
public void testMultiply() {
// fail("Not yet implemented");
calculator1 c = new calculator1(); // 实例化一个对象
int result = c.multiply(2, 5);
assertEquals(10, result, 0.0);
}
@Test
public void testDivide() {
// fail("Not yet implemented");
calculator1 c = new calculator1(); // 实例化一个对象
int result = c.divide(10, 5);
assertEquals(2, result, 0.0);
}
}
PS: assertEquals ()函数是Java 中JUnit 框架中的一个断言方法,用于比较两个值是否相等,如果不相等则抛出一个异常
assertEquals(expectedValue, actualValue, message);其中
expectedValue
表示期望值,
actualValue
表示实际值 ,
message
是断言失败时显示的错误信息。如果
expectedValue
等于
actualValue
,则断言通过;如果不等,则抛出一个
AssertionError
异常。
需要注意的是,在使用
assertEquals
之前,需要导入 JUnit 的包,并且这个方法通常用于单元测试,而不是在生产环境中的代码中使用。
10.使用 JUnit 运行测试代码。在 calculator1Test.java 中点击鼠标右键,选中Run As中的JUit Test运行程序
11.查看 JUnit 中的测试结果。
实验结果: 当最后测试的结果如下图所示,就说明测试通过。
12.若修改assertEquals ()函数中的值, 使测试结果不正确则会出现异常报错
版权归原作者 诗尔奕文 所有, 如有侵权,请联系我们删除。