初识Junit(一个简单的小程序)

本次实验的主要目的是使用Junit和Eclemma进行单元测试和覆盖测试,被测试程序是一个简单的三角形函数,实验的具体步骤如下:

1.首先是相关环境的搭建:

(1).在Eclipse中安装Junit:

右键项目,找到Build path,选择Add Library...

初识Junit(一个简单的小程序)
 
初识Junit(一个简单的小程序)
点击并选择Junit4即可完成相关jar包的导入。

(2).Eclemma的安装:

选择Help->Eclipse Marketplace->搜索EclEmma:
初识Junit(一个简单的小程序)
会出现以下结果:
初识Junit(一个简单的小程序)
点击进行安装即可,安装完成后,会自动重启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测试结果:

初识Junit(一个简单的小程序)

Eclemma覆盖率测试:

初识Junit(一个简单的小程序)

至此,此次实验内容完成。