单元测试工具Junit浅谈 1.选择开发工具 2.单元测试过程 3.参数化自动测试 4.使用测试套件测试 5、总结

单元测试工具Junit浅谈
1.选择开发工具
2.单元测试过程
3.参数化自动测试
4.使用测试套件测试
5、总结

什么是单元测试?

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

怎么测?

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

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

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

操作系统 window10
JDK 1.8.0_71
开发语言 java
开发工具 eclipse Mars Release (4.5.0)
单元测试工具 Junit4.12
  • 我选择的开发工具是eclipse,由于我之前安装过,所以不在这里介绍安装过程,有需要的可以自行百度。
    单元测试工具Junit浅谈
1.选择开发工具
2.单元测试过程
3.参数化自动测试
4.使用测试套件测试
5、总结

  • 单元测试工具选用的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

单元测试工具Junit浅谈
1.选择开发工具
2.单元测试过程
3.参数化自动测试
4.使用测试套件测试
5、总结

  • (2)编写测试类

  利用Eclipse自带的Junit4进行单元测试,在包名右键->new->JUnite Testt Case;
  单元测试工具Junit浅谈
1.选择开发工具
2.单元测试过程
3.参数化自动测试
4.使用测试套件测试
5、总结

  这里选择JUnit 4 test,测试类名一般为XxxTest,因为我们测试Calculate类,所以测试类名为CalculateTest,点击下面的Class under test旁边的Browse..来选择被测试的类
  单元测试工具Junit浅谈
1.选择开发工具
2.单元测试过程
3.参数化自动测试
4.使用测试套件测试
5、总结
  选中我们被测试类Calculate,点击OK
  单元测试工具Junit浅谈
1.选择开发工具
2.单元测试过程
3.参数化自动测试
4.使用测试套件测试
5、总结
  因为我们选用Eclipse自带的Junit4,所以这里直接勾上Perform the following action,点击OK
  单元测试工具Junit浅谈
1.选择开发工具
2.单元测试过程
3.参数化自动测试
4.使用测试套件测试
5、总结
  单元测试工具Junit浅谈
1.选择开发工具
2.单元测试过程
3.参数化自动测试
4.使用测试套件测试
5、总结

  • (3)运行测试类
    单元测试工具Junit浅谈
1.选择开发工具
2.单元测试过程
3.参数化自动测试
4.使用测试套件测试
5、总结

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

  单元测试工具Junit浅谈
1.选择开发工具
2.单元测试过程
3.参数化自动测试
4.使用测试套件测试
5、总结

3.参数化自动测试

  • (1)编写测试类
      单元测试工具Junit浅谈
1.选择开发工具
2.单元测试过程
3.参数化自动测试
4.使用测试套件测试
5、总结
  • (4)测试结果展示
      单元测试工具Junit浅谈
1.选择开发工具
2.单元测试过程
3.参数化自动测试
4.使用测试套件测试
5、总结

4.使用测试套件测试

  在包名上右键->new->other(或者使用快捷键Ctrl+N)。
  单元测试工具Junit浅谈
1.选择开发工具
2.单元测试过程
3.参数化自动测试
4.使用测试套件测试
5、总结

  选中Junit Test Suite,点击Next。
  单元测试工具Junit浅谈
1.选择开发工具
2.单元测试过程
3.参数化自动测试
4.使用测试套件测试
5、总结

  选择JUnit 4 suite,填写套件名AllTests,选择套件需要包含的测试类,点击Finish。
  单元测试工具Junit浅谈
1.选择开发工具
2.单元测试过程
3.参数化自动测试
4.使用测试套件测试
5、总结

  生成的测试套件类如下:。
  单元测试工具Junit浅谈
1.选择开发工具
2.单元测试过程
3.参数化自动测试
4.使用测试套件测试
5、总结

  运行该测试套件类,结果如下:
  单元测试工具Junit浅谈
1.选择开发工具
2.单元测试过程
3.参数化自动测试
4.使用测试套件测试
5、总结

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 入门教程