Junit简介

简介:
  1.说来好笑,记得以前单元测试都是在目标类里简单写个main方法。要写的方法多了,结果把整个main方法写得特别长,注释的乱乱的,每当测出问题的时候还觉得自己很聪明,心里美滋滋的。可是,当一个方法需要回头再次测的时候就犯愁了----到底是哪段注释呢!所以,当接触到Junit的时候,就觉得再离不开它了。

  2.Junit是就是我们常用的单元测试工具,它采用测试类和目标类分离,各方法单独执行的方式进行灵活测试,并且它还支持我们的断点。更难能可贵的是,断言可以在我们不必分析测试结果的情况下,就可以知道程序的正确与否。  而且在使用上,也非常简单:
    1>.目标类照常写,测试类写在Source Folder里。其实为了清楚起见,测试类的包结构最好和目标类的包结构完全相同,一个目标类对应一个测试类,测试类的命名是在目标类名字的基础上,前面加Test;
  在测试类里,每个目标方法对应一个测试方法,测试方法的命名是在目标方法的基础上,前面加test。
    2>.测试类要继承Junit的TestCase类;测试方法无需返回值,只是在里面完成测试代码即可。
    3>.在测试方法里,可以通过目标类实例对目标方法进行调用测试。对于有返回值的情况,我们可以接收返回值,并设置一个期望返回值,使用断言方法(assertEquals)判断两者一否一致。
 
 3..各测试方法可以一起执行,也可以单独执行。如果执行过程中出现异常或者期望值和实际值不一致,则相应的Junit窗口会变红并给出提示信息。否则,就是我们最期望看到的满屏绿灯,各测试方法正常运行。
    
    注意,它用到一个Junit的jar包,我用的是junit-3.8.1.jar。
 
目标类:UserService.java
public  class UserService { 
   public  void insert(String user) { 
    System.out.println( "UserService.insert():" + user); 
  } 

   public  void delete(String user) { 
    System.out.println( "UserService.delete():" + user); 
  } 

   public  void update(String user) { 
    System.out.println( "UserService.update():" + user); 
  } 

   public String query(String user) { 
    System.out.println( "UserService.query():" + user); 
     return user; 
  } 
}
 
测试类:TestUserService.java
public  class TestUserService  extends TestCase { 
   public  void testInsert(){ 
    UserService us= new UserService(); 
    us.insert( "Li Lei"); 
  } 
   public  void testDelete(){ 
    UserService us= new UserService(); 
    us.delete( "Han Meimei"); 
  } 
   public  void testUpdate(){ 
    UserService us= new UserService(); 
    us.update( "Jim"); 
  } 
   public  void testQuery(){ 
    UserService us= new UserService(); 
     /**接收实际返回值*/ 
    String result=us.query( "Tom"); 
     /**设置个期望值*/ 
    String expected= "Li Lei"
     /**比较实际值和期望值是否一致,本例中显然是不一致的,所以测试时会出错*/ 
     this.assertEquals(expected, result); 
  } 
}

     本文转自NightWolves 51CTO博客,原文链接: http://blog.51cto.com/yangfei520/308018 ,如需转载请自行联系原作者



相关文章
|
4月前
|
SQL Java 数据库连接
Mybatis之Mybatis简介、搭建Mybatis相关步骤(开发环境、maven、核心配置文件、mapper接口、映射文件、junit测试、log4j日志)
【1月更文挑战第2天】 MyBatis最初是Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Software Foundation迁移到了Google Code。随着开发团队转投Google Code旗下,iBatis3.x正式更名为MyBatis。代码于2013年11月迁移到Github iBatis一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBatis提供的持久层框架包括SQL Maps和Data Access Objects(DAO)
204 3
Mybatis之Mybatis简介、搭建Mybatis相关步骤(开发环境、maven、核心配置文件、mapper接口、映射文件、junit测试、log4j日志)
|
IDE Java 测试技术
JUnit 5 简介
著名的Java单元测试框架Junit 4已经出来很长时间了,当时我发现JUnit 5已经处于测试版,就准备写文章来介绍JUnit 5.不过因为还是测试版,所以有些地方还不太完善,我也有点懒没有好好写。
1170 0
|
IDE Java 测试技术
JUnit 4 简介
JUnit4是一个易学易用的Java单元测试框架,使用非常广泛。现阶段的最新版本号是4.12,JUnit5目前正在测试中,所以这里还是以JUnit4为准。
962 0
|
2月前
|
IDE Java 测试技术
Junit 单元测试
JUnit是Java常用的单元测试框架,简化了测试用例的编写和执行。其特点包括简单注解、自动化测试、可扩展性、灵活性及与IDE的集成。使用方法涉及创建测试类、利用注解如@Test、@BeforeEach等管理测试生命周期,以及使用各种断言方法验证结果。此外,JUnit支持参数化测试以覆盖更多输入组合,并能与Maven、Gradle等构建工具集成,提升测试效率和项目管理。
40 1
|
4月前
|
Java 测试技术
JUnit 4 单元测试
单元测试是软件开发中必不可少的一环,但是在平常开发中往往因为项目周期紧,工作量大而被选择忽略,这样往往导致软件问题层出不穷。 线上出现的不少问题其实在有单元测试的情况下就可以及时发现和处理,因此培养自己在日常开发中写单元测试的能力是很有必要的。无论是对自己的编码能力的提高,还是项目质量的提升,都是大有好处,本文将介绍 Java 单元测试框架 JUnit 4 的基础认识和使用来编写单元测试,希望同样对你有所帮助。
|
7月前
|
Java 测试技术 API
Junit5单元测试框架详解
前面我们学习了Selenium自动化测试框架,但是有的时候测试用例会很多,我们需要一个工具来管理这些测试用例,而Junit就是一个很好的管理工具,简单点来说,Junit就是一个针对Java的单元测试框架;
103 0
|
7月前
|
Java 测试技术 程序员
|
8月前
|
测试技术
Junit单元测试
Junit单元测试
37 0
|
8月前
|
Java 程序员 网络安全
JUnit5学习之六:参数化测试(Parameterized Tests)基础
了解JUnit5的参数化测试的基本知识
117 2
JUnit5学习之六:参数化测试(Parameterized Tests)基础