初识Junit(一个简单的小程序)
本次实验的主要目的是使用Junit和Eclemma进行单元测试和覆盖测试,被测试程序是一个简单的三角形函数,实验的具体步骤如下:
1.首先是相关环境的搭建:
(1).在Eclipse中安装Junit:
右键项目,找到Build path,选择Add Library...
点击并选择Junit4即可完成相关jar包的导入。
(2).Eclemma的安装:
选择Help->Eclipse Marketplace->搜索EclEmma:
会出现以下结果:
点击进行安装即可,安装完成后,会自动重启Eclipse。至此环境搭建的准备工作已经全部完成,下面开始进行代码部分的工作。
2.三角形形状测试代码的编写:
(1).首先编写三角形类:
该类用来判断对于给定的三角形的三条边,该三角形是等边三角形还是等腰三角形或者是其他类型的三角形(前提是能组成一个三角形),代码如下:
1 package TestTr; 2 3 public class Triangle { 4 // 定义三角形的三边 5 protected int lborderA = 0; 6 protected int lborderB = 0; 7 protected int lborderC = 0; 8 // 构造函数 9 public Triangle(int lborderA, int lborderB, int lborderC) { 10 this.lborderA = lborderA; 11 this.lborderB = lborderB; 12 this.lborderC = lborderC; 13 } 14 15 public String isType(Triangle triangle) { 16 String strType = ""; 17 //判断是否为三角形 18 if ((triangle.lborderA >= triangle.lborderB + triangle.lborderC) 19 || (triangle.lborderB >= triangle.lborderA + triangle.lborderC) 20 || (triangle.lborderC >= triangle.lborderA + triangle.lborderB)) { 21 22 strType = "不是三角形"; 23 } 24 else{ 25 // 判断是否等边是三角形 26 if ((triangle.lborderA == triangle.lborderB) 27 && (triangle.lborderB == triangle.lborderC)) { 28 strType = "等边三角形"; 29 } 30 // 判断是否是不等边三角形 31 else if ((triangle.lborderA != triangle.lborderB) 32 && (triangle.lborderB != triangle.lborderC) 33 && (triangle.lborderA != triangle.lborderC)) 34 strType = "不规则三角形"; 35 else { 36 strType = "等腰三角形"; 37 } 38 39 } 40 return strType; 41 } 42 }
(2).然后进行测试函数的编写:
1 package TestTr; 2 3 import org.junit.Test; 4 import static org.junit.Assert.*; 5 import org.junit.Before; 6 7 public class TestTriangle 8 { 9 public Triangle t; 10 @Before 11 public void create() 12 { 13 t = new Triangle(0, 0, 0); 14 } 15 16 @Test 17 public void Test() 18 { 19 t = new Triangle(1,1,1); 20 assertEquals("等边三角形",t.isType(t)); 21 t = new Triangle(3,4,5); 22 assertEquals("不规则三角形",t.isType(t)); 23 t = new Triangle(3,3,4); 24 assertEquals("等腰三角形",t.isType(t)); 25 t = new Triangle(1,5,7); 26 assertEquals("不是三角形",t.isType(t)); 27 } 28 }
3.测试结果:
Junit测试结果:
Eclemma覆盖率测试:
至此,此次实验内容完成。