《重构 改善既有代码的设计》之JUnit测试框架以及IDEA与JUnit整合

1简介

在使用Java开发新功能时,作为一个编写较多代码的程序员来说,一定会发现编写代码仅仅占据非常小的一部分。有些时间花在设计上,而最多的时间则花在调试上。当你修改好一个错误,总是会有另一个错误出现,而且肯定要很久以后才会注意到它。那时候你又要花上大把时间去寻找它。因此在代码中进行测试是一个非常重要的步骤,甚至有些编程人员开发应该由测试驱动,即TTD编程。

2关于重构

在《重构 改善既有代码结构的设计》中,在构筑测试体系中提到重构的基础就是测试,而且

要确保所有的测试都完全自动化,让它们检查自己的测试结果

Martin Fowler认为,在每次编译之后都立刻进行测试,很快就会发现自己的生产性能大大提高,那是因为自己没有花太多时间去调试。之所以能够拥有如此强大的纠错能力,不仅仅是因为我构筑的类能够自我测试,也因为我频繁地运行它们。

一套测试就是一个强大的bug侦测器,能够大大缩减查找bug所需要的时间

本章阅读之后,使用XMind进行总结,内容如下:
《重构 改善既有代码的设计》之JUnit测试框架以及IDEA与JUnit整合_第1张图片

3 整合过程

3.1下载JGenerator

3.2 导入JUnit4

Settings–>Plugins–>Install from disk

3.3 导入jar包

  1. 需要导入junit-4.12.jar
  2. 需要导入hamcrest-core-1.3.jar

3.4 配置JUnit4

首先在Settings–>Plugins–>Other Settings选择第一个JUnit Generator,然后
把OutputPath设置为如下内容:

${SOURCEPATH}/../test/${PACKAGE}/${FILENAME}

同时,勾选Default Template 为JUnit4
最后,配置JUnit4标签,配置其中的

package test.$entry.packageName;

package $entry.packageName;

使得test目录与src目录保持一致。

注意:如果src目录位于default包中,即src下的类不属于任何的package,则要把生成的测试类中的

package ;

删除,因为Java 不允许package语句后为空内容。如果src目录位于某个包下,则不需要执行后面的动作

3.5生成测试类

在想要生成测试类的主体类上,点击Alt + Insert,选择JUnit Test然后选择JUnit 4.会自动生成与src同级的test目录。比如说主体类为Calc,则自动生成的类为CalcTest.

注意:如果Calc位于src目录下,属于default package,则应删除自动生成的

package ;

原因不再赘述。
在此步骤也可以通过点击Ctrl + ALt + T在弹出的对话框中父类不用勾选,setUp和tearDown需要勾选,如果需要初始化和销毁,然后会自动生成的,但是生成的测试用例,不自带test,即factorial函数的测试用例仍然为factorial

3.6 标记test目录为Test Resource Root

注意:该步骤非常重要,请一定要执行。

在上述生成测试类的同时,生成了与src同级的test目录,此时右击该test目录,选择

Mark Directory as

选择

Test Source Root

然后就可以正常的引入Calc类,不然IDEA总是会自动的提示CalcTest类。

3.7 编写测试用例

在该步骤,直接编写测试用例进行测试即可,不再赘述

4 实例演示

文档下载

https://download.csdn.net/download/lk142500/10898459
https://download.csdn.net/download/lk142500/10931163

参考

《重构 改善既有代码的设计》之重构原则
《重构 改善既有代码的设计》之重构,第一个案例详解
《重构 改善既有代码的设计》之JUnit测试框架以及IDEA与JUnit整合
《重构 改善既有代码的设计》之代码的坏味道
《重构 改善既有代码的设计》之重构列表

你可能感兴趣的:(Java,编程思想)