junit junit suite的简单使用总结(从无到有)

本文总结了JUnit的使用经验,包括如何下载配置JUnit jar包,创建JUnit4测试类,使用@Test注解标记测试方法,以及如何构建和运行Suite以批量执行测试用例。同时,文中也提到了在创建Suite时可能遇到的问题,如选择错误的JUnit版本、jar包导入问题和方法权限错误,并提供了解决方案。

JUNIT吐血总结

最近在使用junit的时候遇到一些问题,现在回过头来整理一下。

在使用junit的时候我们先要从官网中(http://www.junit.org)中下载相应的jar包,并配置到eclipse中。
这里写图片描述
之后就可以在程序中写相应的测试程序了。
右键项目,选择新建一个junit case(在other中找)。注意注意!这里一定要选择new junit4 test 或者使用 junit3 test。个人偏好junit4,因为编写程序的时候受到的限制相对较少,写起来相对比较方便。
这里写图片描述
之后就可以编写相关类了。
示例:

package testFolder;

import static org.junit.Assert.*;
import org.junit.Test;
import lab1.core.Graph;

public class test {

  @Test
  public void test(){
    assertEquals("这里填写预期输入结果", "这里填写实际输出");
  }

}

其中 @Test标志测试函数
然后就可以直接run as junit test了。
下面是测试通过的示例图

这里写图片描述
这样就结束了吗?
不不不,
当你在编写许多测试代码的时候,一个一个点击测试是不是觉得很麻烦?
这时候就可以使用suite了。
它可以吧多个测试用例集中放在一起,然后一并运行。
说白了就是把所有的test case 集中起来,放到一个地方,然后一股脑地丢出去运行。这个地方就是suite。

建立suite也非常简单。
依旧右键test case类所在的包,然后选择新建test suite。
这里写图片描述
键入名字,默认为AllTests。选中你想要添加的test类,然后finish即可。这里同样要注意选择与之前相匹配的junit测试版本(这里依旧选junit4)。之后就大功告成了。
最终可以得到如下一段程序

import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;

@RunWith(Suite.class)
@SuiteClasses({
    //这里是你之前添加的一些测试类
    test1.class,
    test2.class,
    test3.class,
    test4.class,
    test5.class,
    test7.class,
    test8.class
})
public class AllTests {

}

其中@RunWith(Suite.class)表示这是一个suite类。
如果你手误没有右键test类包,就直接新建了也可以在@SuiteClasses的花括号里手动添加测试类。

当然除此之外,还可以写一个main函数,来统一管理suite。
示例:

package testFolder;

import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;

public class test {
  public static void main(String[] args) {
    Result result = JUnitCore.runClasses(AllTests.class);
    for(Failure failure : result.getFailures()) {
      System.out.println(failure.toString());
    }
    System.out.println(result.wasSuccessful());
  }

}

运行该类可以再console里看到相应的错误提示信息,如果没有错误则会打印“true”。

遇到的一些错误

在编写test case的时候,单独运行每一个test类都能有结果,但是就是放不到suite里。双击右侧suite

这里写图片描述
会弹出一个提示框
这里写图片描述
表征早不到对应的test case类。
最后发现是当时在创建test case类时选择的是junit jupiter test
这里写图片描述
而suite是junit4 test最终当然无法找到。后来重新import junit的测试包,消除了错误。当然你也可以重新创建test类。
除此之外,出现这种错误还有jar包未引入的情况。以及申明测试函数时声明为私有的情况。具体可以参考下面的链接,里面有详细的介绍。
http://www.cnblogs.com/sxdcgaq8080/p/5649819.html
上述若有任何纰漏,还请指正!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值