Eclipse中怎么使用junit测试

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Eclipse中怎么使用junit测试相关的知识,希望对你有一定的参考价值。

打开eclipse,点击左上角的File,新建一个project,命名为JunitTestDemo,然后在src目录下新建两个包,分别命名为StuScoreMS和Test。
在StuScoreMS中新建一个class,命名为score.java。
在score.java中输入如下代码:
package StuScoreMS;
import java.util.Scanner;
public class Score
private static String result;
private static String note;
public void Checkscore(int score)
if(score<=100&&score>97)result="优秀";note="通过";
else if(score<=97&&score>94)result="分数很高";note="通过";
else if(score<=94&&score>92)result="高分";note="通过";
else if(score<=92&&score>88)result="很好";note="通过";
else if(score<=88&&score>85)result="好";note="通过";
else if(score<=85&&score>82)result="很满意";note="通过";
else if(score<=82&&score>79)result="满意";note="通过";
else if(score<=79&&score>74)result="一般";note="通过";
else if(score<=74&&score>50)result="可提高";note="通过";
else if(score<=50&&score>0)result="差";note="通过";
else result="不确定";note="不确定";

public String getResult()
return result;

public static void main(String[] args)
String input;
int score = 0;
System.out.println("请输入你的成绩:");
Scanner reader = new Scanner(System.in);
input = reader.nextLine();
try
score = Integer.parseInt(input);
catch (Exception e)
System.out.println("提示:你的输入有误!请检查输入是否正确!!!");

Score stu = new Score();
stu.Checkscore(score);
System.out.println("你的成绩评测结果为:" + result + "。备注:" + note + "。");


然后右击score.java,在选项new里面点击JUnit Test Case(如果没有该选项,请点击others,在JUnit 中选择JUnit Test Case),点击next,将Package改为Test,Name改为ScoreTest,点击next。
进入Test Methods后,勾选Score中的Checkscore(int)和getResult()两个方法,点击finsh.
新建了ScoreTest.java后,将两个方法里面的“fail("Not yet implemented");”删去,
在testCheckscore()里面写上如下代码:
score.Checkscore(70);
assertEquals("可提高",score.getResult());
在testGetResult()里面写上如下代码:
score.Checkscore(40);
assertEquals("差", score.getResult());
6
保存后,右击ScoreTest.java,选择Run As,再选择Junit Test,即可运行junit,测试在ScoreTest.java里面的数据是否正确。如图,测试结果通过则显示绿条,否则显示红条,可以根据提示找到错误所在。
参考技术A junit4的话,直接导入相应的jar然后 在测试类上家@Test 编写测试类就可以了。

软件测试——JUnit基础

软件测试——JUnit基础

1. 综述

  之前(很久了…)说过JUnit的安装和使用,但其实没有讲JUnit的写法,今天写写JUnit的基础。

  博客链接:在Eclipse中使用JUnit4进行单元测试(初级篇)

  博客链接:在Eclipse中使用JUnit4进行单元测试(中级篇)

  博客链接:在Eclipse中使用JUnit4进行单元测试(高级篇)

 

2. JUnit基础

  一段简单的代码

 1 package testing;
 2 
 3 import static org.junit.Assert.*;
 4 import org.junit.BeforeClass;
 5 import org.junit.Test;
 6 
 7 public class TestSimple {
 8     static Simple simple;
 9     
10     @BeforeClass
11     public static void setup() {
12         simple = new Simple();
13     }
14 
15     @Test
16     public void testAdd() {
17         int sum = simple.add(1, 2);
18         assertEquals(sum, 3);
19     }
20     
21     @Test
22     public void testSub() {
23         int sub = simple.sub(3, 2);
24         assertEquals(sub, 1);
25     }
26 }

 

2.1 需要导入的包

  首先是需要导入的包,都在org.junit里,代码中需要import的有

import static org.junit.Assert.*;
import org.junit.BeforeClass;
import org.junit.Test;

  import static org.junit.Assert.*;        静态导入,含义是导入Assert类中所有的静态方法,如十分常用的assertEquals()

  import org.junit.BeforeClass;            导入使用@BeforeClass标注所需要的类

  import org.junit.Test;                       导入使用@Test标注所需要的类

  应该是每个标注的使用都要先导入对应类,这可由Eclipse自动补上,不过心中要知晓。

 

下文详情可参考链接博客的高级篇。

2.2 标注

  标注是Java的一个特性。

  常用标注代表的含义:

  @BeforeClass            在所有测试函数前运行,且一共只运行一次。总的设置工作

  @Before                在各测试函数前都运行一次

  @Test                       代表这是一个测试函数

  @After                      在各测试函数后都运行一次

  @AfterClass           在所有测试函数后运行,且一共只运行一次。总的结尾工作

  只能有一个函数被标记成@BeforeClass@AfterClass,且其必须为public static

 

  @Test(timeout = 1000)            限时1000ms的测试,超时则认为没有通过测试,可用来检测死循环

  @Test(expected =ArithmeticException.class)            预期捕获某种异常

  以上这些标注都放在函数前。

 

2.2.1 运行器Runner

  @RunWith(xxxxxx.class)          放在整个测试类前,用来选择一个运行器,不加这一句会运行默认的运行器。不同的运行器有不同的功能,下面介绍。

 

2.2.3 参数化

  这是一个很重要的特性,避免了重复的操作。

  通过以下方式实现:

  1. 在类前加标注,使用参数化运行器:@RunWith(Parameterized.class)

  2. 使用标注@Parameters,标示参数传入函数

  3. 构建构造函数,将参数传入成员变量

  4. 在测试函数中使用由传入参数赋了值的成员变量

 

package testing;

import static org.junit.Assert.*;

import java.util.Arrays;
import java.util.Collection;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;

@RunWith(Parameterized.class)
public class TestSimple {
    static Simple simple = new Simple();
    int a, b, sum;    

    @Parameters
    public static Collection data(){
        return Arrays.asList(new Object[][]{
            {1, 1, 2},
            {2, 1, 3},
            {5, 6, 11}
        });
    }
    
    // constructor, initialize the parameters
    public TestSimple(int a, int b, int sum) {
        this.a = a;
        this.b = b;
        this.sum = sum;
    }    
    
    @Test
    public void testAdd() {
        assertEquals(sum, simple.add(a, b));
    }
}

 

以上是关于Eclipse中怎么使用junit测试的主要内容,如果未能解决你的问题,请参考以下文章

eclipes使用junit进行测试

Eclipse中怎么使用junit测试

Eclipse中怎么使用junit测试

Eclipse中怎么使用junit测试

Eclipse中怎么使用junit测试

eclipse中使用junit4进行测试不报错怎么回事