使用Eclipse中junit包和eclemma插件进行软件测试入门

时间:2021-05-31 05:08:35

首先配置好电脑中的jdk路径。

可以通过cmd中输入java -version来检测是否配置成功,这都是简单的环境变量配置步骤,不多加赘述。

使用Eclipse中junit包和eclemma插件进行软件测试入门

 

然后在网上下载junit-4.12.jar到工程目录下。下载链接为:http://download.csdn.net/download/qq_21417433/9249785

下载hamcrest-1.3.jar到工程目录。下载链接为http://download.csdn.net/download/fly_fish456/4887448

还有eclemma-2.3.3.zip可在此链接下载:http://download.csdn.net/download/simon_world/8129557

eclemma的安装过程虽然很简单,但是过程也出了一些问题,其中一个就是在文件配置完毕后,重启eclipse并无响应图标出现。最后通过网上查明原来需要删掉压缩包中的META-INF文件夹

感谢博主:http://blog.csdn.net/ufolr/article/details/52713422

成功配置后,就需要进行程序编写。

 

建立一个工程,工程的格式为:

使用Eclipse中junit包和eclemma插件进行软件测试入门

 

因为jar包相当于工具包,所以我们在使用之前需要在工程中引用进来。在工程的Configure Build Path中点击Java Build Path,然后Libraries中Add External JARS,然后在文件选择器中选择要添加的jar包即添加进工程路径。所以选择junit-4.12和hamcrest-core-1.3这两个jar包。如果不在同一目录下,可以通过添加两次来将这两个jar包添加进来。

在test文件夹中写测试程序,而在src中写源程序。

其中Main.java文件:

package Triangle;

public class Main {
    private int result=-1;
    
    public void equilateral(int a,int b,int c){
        if(a+b <= c||a+c <= b||b+c <= a
                || a-b>=c || a-c >= b || b-c >= a){
                int m=a/0;
        }
        else if(a==b && b==c){
            result = 0;
        }
    }
    
    public void isosceles(int a,int b,int c){
        if(a+b <= c||a+c <= b||b+c <= a
                || a-b>=c || a-c >= b || b-c >= a){
                int m=a/0;
        }
        else if((a==b && b!=c) || (a!=b && b==c) || (a==c && a!=b)){
            result = 1;
        }
    }
    
    public void scalene(int a,int b,int c){
        if(a+b <= c||a+c <= b||b+c <= a
                || a-b>=c || a-c >= b || b-c >= a){
                int m=a/0;
        }
        else if(a!=b && b!=c && a!=c){
            result = 2;
        }
    }
    
    public void reSet(){
        result=-1;
    }
    public int getResult(){
        return result;
    }
}

 MainTest.java文件:

package Triangle;

import static org.junit.Assert.*;
import org.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
//import org.junit.internal.runners.TestClassRunner;
import org.junit.runner.RunWith;


public class MainTest {
    public static Main mainTest=new Main();
    
    @Before
    public void setUp() throws Exception {
        mainTest.reSet();
    }

    @After
    public void tearDown() throws Exception {
    }

    @Test(timeout=1000)
    public void testequilateral() {
        mainTest.equilateral(1, 1, 1);
        assertEquals(0, mainTest.getResult());
    }

    @Test
    public void testisosceles() {
        mainTest.isosceles(1, 2, 2);
        assertEquals(1,mainTest.getResult());
    }

    @Test
    public void testscalene() {
        mainTest.scalene(3, 4, 2);
        assertEquals(2,mainTest.getResult());
    }

    @Ignore("Multiply() Not yet implemented")  
    @Test
    public void testMultiply() {
    }

    @Test(expected =ArithmeticException.class)
    public void testZero() {
        mainTest.scalene(5, 1, 2);
        assertEquals(2,mainTest.getResult());
    }
}

 

 MainTest中引用了Junit中的测试框架。其中@Before为在测试之前运行的函数;@After为在测试之后运行的函数;@Test为测试用例。

其中由于expected期待的为抛出异常,而如果不能形成三角形并不能抛出异常,所以我用a/0代替处理结果,会抛出 ArithmeticException,这样就能在测试用例中接收错误的测试用例。

 

最后的测试结果为:

使用Eclipse中junit包和eclemma插件进行软件测试入门