`
qm504qm
  • 浏览: 12665 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

MyEclipse使用Junit

 
阅读更多

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
分享到:
评论

相关推荐

    教会你如何使用junit,以及myeclipse+junit 使用

    教会你如何使用junit,以及myeclipse+junit 使用

    Myeclipse中的JUnit测试详细

    Myeclipse中的JUnit测试详细

    myEclipse下使用Junit

    最快速的学习myEclipse下使用Junit的方法; 详细介绍了junit使用方法

    Junit在myEclipse使用方法

    很不错的细节解说,有图文解释哦。大家在运用myEclipse是经常用的Junit测试,此时需要的就是测试模板,这里给出了细节模板哦。

    在Eclipse中使用JUnit4进行单元测试.doc

    在Eclipse中使用JUnit4进行单元测试 在Eclipse中使用JUnit4进行单元测试

    myeclipse测试工具junit4

    junit是java中书写unit test的framework,目前一些流行的unit test工具大都都是在junit上扩展而来的。

    JUnit如何使用介绍

    3, 把你释放文件中的如:org.junit4_4.3.1文件拷贝Eclipse的\plugins目录下,如果你的电脑上的环境安装了MyEclipse6.0插件了,这个文件也就存在\plugins目录下了,也就是说你要写JUnit的测试类环境已经好了,可以...

    junit测试安装包

    这是junit测试的安装包 ,在开发过程中使用myeclipse的junit难免不方便 而且版本过于低 不适合 这个是目前最新版本的

    Myeclipse Junit测试

    NULL 博文链接:https://robinsoncrusoe.iteye.com/blog/810200

    junit 单元测试

    myeclipse 的 junit 单元测试文档

    junit-4.7和4.8和4.9和4.10和4.11和4.11文档和源码

    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听说不太...

    junit-4.12.jar

    该jar包是junit版本为4.12,如果在Spring中使用了注解配置ApplicationContext.xml的话,就必须使用junit4.12版本或者更高

    book(junit ant myeclipse 运动英语).rar

    book(junit ant myeclipse 运动英语).rar.........

    使用MyEclipse创建Spring Boot项目demo

    JUnit: 一个 Java 语言的单元测试框架 Spring Test & Spring Boot Test:为 Spring Boot 应用提供集成测试和工具支持 AssertJ:支持流式断言的 Java 测试框架 Hamcrest:一个匹配器库 Mockito:一个 java mock ...

    struts-junit spring-mock spring-test junit的javadoc.jar文档

    struts-junit spring-mock spring-test junit等的javadoc.jar格式的API文档,直接导入Eclipse/MyEclipse/Netbeans等IDE即可实现快速API查询。 包含以下文件: File name -------------------------------------- ...

    junit-4.9.jar

    junit-4.9.jar是在MyEclipse集成开发环境中作单元测试所需要引入的jar包,该资源为4.9版本。

    基于MyEclipse搭建maven+springmvc整合图文教程(含源码0

    本教程是基于MyEclipse环境下基于maven搭建的springmvc步骤(图文教程),文章结尾含有源码下载地址: 新建maven project File->New->Project 选择Maven Project 选择项目路径 Use default Workspace location默认...

    演示怎样在Hibernate中使用复合主键

    3、使用JUNIT运行TestDemoDAO类的testGetSession()测例,如果运行正常,进行下一步(应该正常,我使用pubs测试数据库)。 3、使用JUNIT运行testManyToOneByUUID()测例 目的:本示例主要想说明,如果使用Hibernate...

    Ant+JUnit+EMMA集成实例

    本实例主要展示了在myEclipse或Eclipse中如何集成Ant、Junit和EMMA技术,有三个文件夹,在导入myEclipse或Eclipse中时,要Link Source,把三个都选上。详细地讲解了ant的构建文件build.xml

Global site tag (gtag.js) - Google Analytics