MyEclipse使用Junit
2011年05月08日
JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework)。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。
回归测试:当软件发生变化时,重新测试现有的功能,以便确定修改是否达到了预期的目的,检查修改是否损害了原有的正常功能。
一.准备工作
1. 创建Junit测试工程
2. 导入Junit..jar包
3. 导入被测接口API Jar包
4. 创建test文件目录(存放测试类)(一般命名为test)
5. 在test目录下创建com.junit.test包
6. 在com.junit.test包中创建测试类(一般命名规则:被测试类名+Test,例如:CreateInfoTest)继承junit.framework.Testcase类
7. 导入需要的包后,开始编写测试方法(方法名称必须以test+用例方法名称)
举例:
被测试类:
public class CreateInfo
{
public CreateInfo()
{
Super();
}
//被测试方法1
public static String Say(String words)
{
return words;
}
//被测试方法2
public static int Cal(int a,int b)
{
return a*b;
}
}
编写测试类方法一:
import junit.framework.*;
import junit.testui.TestRunner;
public Class CreateinfoTest extends TestCase//需要继承TestCase类
{
public CreateinfoTest(String name)
{
Super(name);
}
//测试被测方法1
public void testSay()//test+被测方法名
{
assertEquals(“学习Junit”, CreateInfo.Say(“学习Junit”));
}
//测试被测方法2
public void testCal()//测试方法命名必须符合规范,test+被测试方法名
{
assertEquals(50, CreateInfo.Cal(5,10));//Assert断言,断言就是针对测试目标做出一个是或者否的结论。Org.junit.Assert类是一系列断言方法的集合
}
//main方法执行测试方法
public static void main(String[] args)
{
TestRunner.run(CreateinfoTest.class);//执行此测试类中所有的测试方法
}
}
备注:
执行main方法后控制台会出现:
结果1:
..
Time:0
OK (2 tests)
或者会出现结果2:
..F
Time:0
There was 1 failure
JUnit报告测试没有成功,区分为失败(failures)和错误(errors)。失败是你的代码中的Assert方法失败引起的;而错误则是代码异常引起 [/b]
[b]
注解:
Time上的小点表示测试的个数,如果测试通过则显示ok. 否则在小点后边标上F,表示该测试失败。
综上所述:编写测试类的基本步骤
(1) 扩展TestCase类
(2) 覆盖runTest()方法。(可选)
(3) 写一些testXXXXX()方法
编写测试类方法二:
Junit4注解的使用。(Junit最新jar包)
@BeforeClass :所有测试开始之前被系统运行,只运行一次
@AfterClasss:所有测试结束之后被系统调用,只运行一次
@Before:每个测试方法执行之前运行,有多少个测试方法就被运行多少次.必须是static的
@After: 每个测试方法执行结束后运行,有多少个测试方法就被运行多少次.必须是static的
@lgone:被忽略的测试方法
@Test:测试方法,即是一个测试用例
例子:Junit4注解式测试方法示例(测试类不用继承Testcase)
Package com.junit.test;//测试类存放的包
import static org.junit.Assert.*;
import static org.hamcrest.Matchers.*;
import org.junit.*;
public class Createinfo2Test //没有继承Test类
{
@BeforClass
public static void beforeClass()
{
System.out.println(“开始执行所有测试用例。。。。。”);
}
@AfterClass
Public static void afterClass()
{
System.out.println(“所有测试用例执行完毕。。。”);
}
@Before
public void before()
{
System.out.println(“执行一个测试方法开始。”);
}
@After
public static after()
{
System.out.println(“执行一个测试方法结束”);
}
//测试被测方法1
@Test(timeout=60000)//可选参数timeout用来指定限时测试
public void testSay()//test+被测方法名
{
assertEquals(“学习Junit”, CreateInfo.Say(“学习Junit”));
}
//测试被测方法2
@Test(excepted=Exception.class) //可选参数excepted用于测试一个预期的异常//(excepted=java.lang.NullException , timeout=1000)
public void testCal()//测试方法命名必须符合规范,test+被测试方法名
{
assertEquals(50, CreateInfo.Cal(5,10));
}
@Ignore(“还未编写好”)//忽略此测试方法testAdd 原因为: 还未编写好
@Test
public void testAdd()
{
}
}
//右键Run As>>Junit Test 执行测试用例方法
强调:有多个测试方法类的时候可使用测试套件(TestSuit) //测试套件:多个测试的组合;
具体介绍:
(1)Suite类:套件运行器,负责运行测试套件(TestSuit)
使用套件运行器的方法:@Runwith(Suite.class).
使用Suite.SuiteClasses注释来创建测试套件
(2)JunitCore类:直接担负起运行测试的具体工作
首先需要创建其实例对象
JunitCore core=new JunitCore();
然后可运行具体的测试类了
Core.run(CreateinfoTest .class);
(3)Result类是一个收集器。可以收集测试结果的概要信息。
方法名
方法名说明
Int getFaliureCount()
测试失败的数目
List getFaliures()
测试失败的描述
Int getIgnoreCount()
忽略的测试数
int getRunCount()
测试总数
Long getRunTime()
测试运行时间(毫秒)
Boolean wasSuccessful()
如果全部测试成功则为true
例子:
新建测试套件类
Impore org.junit.runner.runwith;
Import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses({Createinfo2Test .class, CreateinfoTest.class })
public class AllTests()
{
}
新建执行测试套件类
Import org.junit.runner.JunitCore;
public class JuniteCoreTest()
{
JunitCore core=new JunitCore();//创建执行器实例
core.run(AllTests.class);//执行测试套件(执行测试套件注明的类)
core.run(CreateinfoTest.class);//直接运行测试类
}
新建收集测试结果类
Import org.junit.runner.JunitCore;
Import org.junit.runner.Result;
Public class TestResult
{
JunitCore core=new JunitCore();//创建执行器实例
//收集测试结果信息
Result re= core.run(AllTests.class);//注明收集哪些测试类的结果
System.out.println(“测试总数”+re.getRunCount());
}
至此Junit的使用介绍完毕
张斌 2011-5-8
发表评论
-
win7啊,我的纠结,ip啊
2012-01-20 09:36 566win7啊,我的纠结,ip啊 201 ... -
Sharepoint+MOSS分册第2轮筛选结果文章列表
2012-01-20 09:36 367Sharepoint+MOSS分册第2轮筛 ... -
在 Android 平台上应用 Berkeley DB 11gR2 SQL(drop-in模式)(转http://www.cnmsdn.com/html/201004/1270362092ID3134.html)
2012-01-20 09:36 657在 Android 平台上应用 Ber ... -
编程心得
2012-01-20 09:36 641编程心得 2011年03月21日 转自:http://w ... -
在 C# 中通过 P/Invoke 调用Win32 DLL
2012-01-20 09:36 588在 C# 中通过 P/Invoke 调用Win32 DLL ... -
Eclipse+MyEclipse开发中,全局编码设置为UTF-8
2012-01-19 14:39 963Eclipse+MyEclipse开发中,全局编码设置为UTF ... -
MyEclipse7.5将Java程序打包成*.exe
2012-01-19 14:39 771MyEclipse7.5将Java程序打包成*.exe 20 ... -
MyEclipse的javabean
2012-01-19 14:39 574MyEclipse的javabean 2010年11 ... -
eclipse导入工程出现大红叹号
2012-01-19 14:39 901eclipse导入工程出现大红 ... -
js面向对象学习
2012-01-17 04:25 690js面向对象学习 2010年11 ... -
js笔记
2012-01-17 04:25 599js笔记 2011年01月25日 1.document. ... -
[转载]Javascript 常用属性
2012-01-17 04:25 584[转载]Javascript 常用属性 2011年05月13 ... -
script常用属性|script for window
2012-01-17 04:25 610script常用属性|script for w ... -
Javascript对象真经
2012-01-17 04:25 563Javascript对象真经 2011年 ... -
河州花儿探析――河州花儿•爱情•女性美
2012-01-16 03:15 1008河州花儿探析――河州 ... -
赞美之词{上}
2012-01-16 03:14 618赞美之词{上} 2011年04月 ... -
沟通11-如何更有效的赞美别人
2012-01-16 03:14 557沟通11-如何更有效的赞 ... -
精美 赞美 词汇编
2012-01-16 03:14 508精美 赞美 词汇编 2011 ...
相关推荐
教会你如何使用junit,以及myeclipse+junit 使用
Myeclipse中的JUnit测试详细
最快速的学习myEclipse下使用Junit的方法; 详细介绍了junit使用方法
很不错的细节解说,有图文解释哦。大家在运用myEclipse是经常用的Junit测试,此时需要的就是测试模板,这里给出了细节模板哦。
在Eclipse中使用JUnit4进行单元测试 在Eclipse中使用JUnit4进行单元测试
junit是java中书写unit test的framework,目前一些流行的unit test工具大都都是在junit上扩展而来的。
3, 把你释放文件中的如:org.junit4_4.3.1文件拷贝Eclipse的\plugins目录下,如果你的电脑上的环境安装了MyEclipse6.0插件了,这个文件也就存在\plugins目录下了,也就是说你要写JUnit的测试类环境已经好了,可以...
这是junit测试的安装包 ,在开发过程中使用myeclipse的junit难免不方便 而且版本过于低 不适合 这个是目前最新版本的
NULL 博文链接:https://robinsoncrusoe.iteye.com/blog/810200
myeclipse 的 junit 单元测试文档
junit junit-4.7 junit-4.8 junit-4.9 junit-4.10 junit-4.11 junit文档 junitAPI junit源码 junit.jar 包含了junit 5个版本的jar包。各个版面自己感觉差距挺大的,坑到我了,我最后用的4.10,4.9也行,4.11听说不太...
该jar包是junit版本为4.12,如果在Spring中使用了注解配置ApplicationContext.xml的话,就必须使用junit4.12版本或者更高
book(junit ant myeclipse 运动英语).rar.........
JUnit: 一个 Java 语言的单元测试框架 Spring Test & Spring Boot Test:为 Spring Boot 应用提供集成测试和工具支持 AssertJ:支持流式断言的 Java 测试框架 Hamcrest:一个匹配器库 Mockito:一个 java mock ...
struts-junit spring-mock spring-test junit等的javadoc.jar格式的API文档,直接导入Eclipse/MyEclipse/Netbeans等IDE即可实现快速API查询。 包含以下文件: File name -------------------------------------- ...
junit-4.9.jar是在MyEclipse集成开发环境中作单元测试所需要引入的jar包,该资源为4.9版本。
本教程是基于MyEclipse环境下基于maven搭建的springmvc步骤(图文教程),文章结尾含有源码下载地址: 新建maven project File->New->Project 选择Maven Project 选择项目路径 Use default Workspace location默认...
3、使用JUNIT运行TestDemoDAO类的testGetSession()测例,如果运行正常,进行下一步(应该正常,我使用pubs测试数据库)。 3、使用JUNIT运行testManyToOneByUUID()测例 目的:本示例主要想说明,如果使用Hibernate...
本实例主要展示了在myEclipse或Eclipse中如何集成Ant、Junit和EMMA技术,有三个文件夹,在导入myEclipse或Eclipse中时,要Link Source,把三个都选上。详细地讲解了ant的构建文件build.xml