单元测试工具Junit浅谈

什么是单元测试?

  写了一个类和一些方法,给别人用,会不会有bug?那就测一下这些方法吧

怎么测?

  用main方法测?不能一起运行,需要人为观察输出是否正确,测试效率低

单元测试能带来什么好处?

  emmm,重用测试,应对将来的功能的变换;”甩锅“,明确知道自己的代码没问题;“长痛不如短痛”:测试的尽早介入原则,测试贯穿整个开发流程,bug发现的越早,用来修复bug的代价越低
样例代码和jar包:Coding

1.选择开发工具

操作系统 window10
JDK 1.8.0_71
开发语言 java
开发工具 eclipse Mars Release (4.5.0)
单元测试工具 Junit4.12
  • 我选择的开发工具是eclipse,由于我之前安装过,所以不在这里介绍安装过程,有需要的可以自行百度。

  • 单元测试工具选用的Junit4.12,junit44.8需要的jdk版本是jdk1.5以及以上,junit4.94.12需要jdk1.6以及以上,如果使用的是junit5需要的jdk版本就必须是jdk1.8以及以上。除了junit测试工具,还有TestNG测试框架,有时间的话,后面会出一个教程。

  • 单元测试工具jar包的获取
    - IDE自带

    - 官网获取:https://junit.org/junit4/ 
    - 第三方仓库:http://maven.aliyun.com
    

       http://search.maven.org/
       https://code.google.com/

2.单元测试过程

  • (1)编写需要被测试的java类
      创建类Calculate

  • (2)编写测试类

  利用Eclipse自带的Junit4进行单元测试,在包名右键->new->JUnite Testt Case;
  

  这里选择JUnit 4 test,测试类名一般为XxxTest,因为我们测试Calculate类,所以测试类名为CalculateTest,点击下面的Class under test旁边的Browse..来选择被测试的类
  
  选中我们被测试类Calculate,点击OK
  
  因为我们选用Eclipse自带的Junit4,所以这里直接勾上Perform the following action,点击OK
  
  

  • (3)运行测试类

  • (4)测试结果展示
    keeps the bar green to keep the code clean

  

3.参数化自动测试

  • (1)编写测试类
      
  • (4)测试结果展示
      

4.使用测试套件测试

  在包名上右键->new->other(或者使用快捷键Ctrl+N)。
  

  选中Junit Test Suite,点击Next。
  

  选择JUnit 4 suite,填写套件名AllTests,选择套件需要包含的测试类,点击Finish。
  

  生成的测试套件类如下:。
  

  运行该测试套件类,结果如下:
  

5、总结

JUnit4 Annotation

  1. @Test: 测试方法
      a) (expected=XXException.class)
      b) (timeout=xxx)
  2. @Ignore: 被忽略的测试方法
  3. @Before: 每一个测试方法之前运行
  4. @After: 每一个测试方法之后运行
  5. @BeforeClass: 所有测试开始之前运行 一般用于准备测试需要的资源,比如开启和数据库的连接
  6. @AfterClass: 所有测试结束之后运行 用于关闭测试需要的资源,比如关闭跟数据库的连接

注意

  1. 遵守约定,比如:
      a) 类放在test包中
      b) 类名用XXXTest结尾
      c) 方法用testMethod命名

最后再贴上一个使用testNG测试框架的博客链接:TestNG 入门教程

posted on 2018-03-19 16:11  嘿,人  阅读(1109)  评论(0编辑  收藏  举报

$(document).ready(function(){ $("
").appendTo($("body")).bind("click", function(){ $("body,html").animate({ scrollTop: 0 }, 150); }); $('#cnblogs_post_body pre').find('>code').parent().css({'border':'dashed 1px #aaa','border-left':'solid 2px #6CE26C'}); $("#cnblogs_post_body").append('

感谢您的阅读,如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮。本文欢迎各位转载,但是转载文章之后必须在文章页面中给出作者和原文连接
'); });