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
上述若有任何纰漏,还请指正!
本文总结了JUnit的使用经验,包括如何下载配置JUnit jar包,创建JUnit4测试类,使用@Test注解标记测试方法,以及如何构建和运行Suite以批量执行测试用例。同时,文中也提到了在创建Suite时可能遇到的问题,如选择错误的JUnit版本、jar包导入问题和方法权限错误,并提供了解决方案。
3305

被折叠的 条评论
为什么被折叠?



