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测试的主要内容,如果未能解决你的问题,请参考以下文章