转自:https://blog.csdn.net/wangyj1992/article/details/78387728 

因为项目的需要,所以研究了一下自动生成测试代码。将经验记录下来,总会有用的。我个人认为,好记性不如多做笔记多反思总结。

1.    前提条件

  • 开发环境已正确配置
  • 工程已解决JUnit依赖关系(pom.xml)
  • 我用的是4.12版本:
    1 <dependency>
    2 <groupId>junit</groupId> 3 <artifactId>junit</artifactId> 4 <version>4.12</version> 5 </dependency>

2.    IDEA中JUnit配置

  打开Settings窗口搜索junit,如图(两个插件都勾选添加):

  JUnitGenerator V2.0插件,可以帮助我们自动生成测试代码。如果搜索junit没有JUnitGenerator V2.0时,如下图操作(下载添加):

  调用模板的方法(Alt+Insert)默认测试所有所有方法。若想要动态个性化生成,可以在所要测试的类页面上,使用该快捷操作Ctrl + Shift + T,如下图个性化设置:

  现在可以通过右键菜单在这个类上运行'***测试类名**'来进行测试,或通过Run → Edit Configurations来进行。

3.    JUnit常用断言及注解

  JUnit为我们提供了一些辅助函数,他们用来帮助我们确定被测试的方法是否按照预期的效果正常工作,通常,把这些辅助函数称为断言。

断言核心方法

注解

  一个测试类单元测试的执行顺序为:

    @BeforeClass –> @Before –> @Test –> @After –> @AfterClass

  每一个测试方法的调用顺序为:

    @Before –> @Test –> @After

  代码示例:

 1 public class JunitFlowTest {
 2 /* *  3  *1. @BeforeClass修饰的方法会在所有方法被调用前被执行,  4  * 而且该方法是静态的,所以当测试类被加载后接着就会运行它,  5  * 而且在内存中它只会存在一份实例,它比较适合加载配置文件。  6  * 2. @AfterClass所修饰的方法通常用来对资源的清理,如关闭数据库的连接  7  * 3. @Before和@After会在每个测试方法的前后各执行一次。  8  * */  9  @BeforeClass 10 public static void setUpBeforeClass() throws Exception { 11 System.out.println("this is beforeClass..."); 12  } 13  @AfterClass 14 public static void tearDownAfterClass() throws Exception { 15 System.out.println("this is afterClass..."); 16  } 17  @Before 18 public void setUp() throws Exception { 19 System.out.println("this is before..."); 20  } 21 22 /** 23  * 即使在@Before注解方法、@Test注解方法中抛出了异常, 24 * 所有的@After注解方法依然会被执行 25 */ 26  @After 27 public void tearDown() throws Exception { 28 System.out.println("this is after"); 29  } 30 31 /* * 32  * 33  * 1. Failure一般由单元测试使用的断言方法判断失败所引起的, 34 * 这经表示测试点发现了问题 35  * ,就是说程序输出的结果和我们预期的不一样。 36  * 2. error是由代码异常引起的,它可以产生于测试代码本身的错误, 37 * 也可以是被测试代码中的 38  * 一个隐藏的bug 39  * 3.测试用例不是用来证明你是对的,而是用来证明你没有错。 40 */ 41  @Test 42 public void testAdd() { 43 assertEquals(5, new Calculate().add(3,3)); 44  } 45  @Test 46 public void testDivide() { 47 assertEquals(3, new Calculate().divide(6, 0)); 48  } 49 50 }

转载于:https://www.cnblogs.com/sharpest/p/7844036.html

25.怎样在IDEA中使用JUnit4和JUnitGenerator V2.0自动生成测试模块相关推荐

  1. 在IDEA中使用JUnit4和JUnitGenerator V2.0自动生成测试模块

    因为项目的需要,所以研究了一下自动生成测试代码.将经验记录下来,总会有用的.我个人认为,好记性不如多做笔记多反思总结. 1.    前提条件 开发环境已正确配置 工程已解决JUnit依赖关系(pom. ...

  2. mybaitis快速生成_Mybatis中使用mybatis-generator结合Ant脚本快速自动生成Model、Mapper等文件...

    使用过Mybatis的同学都知道,针对每一个项目中使用到的数据库表都需要建立其对应的数据库增删改查xxxMapper.xml文件.实体类xxx.java文件以及其他类用来调用进行数据库操作的xxxMa ...

  3. 实际开发中 dao、entity的代码怎样自动生成?一款工具送给你

    01 关注"一猿小讲"朋友,都知道以往的文章一直倡导拒绝 CRUD,那到底什么是 CRUD?今天咱们就聊聊 Java 妹子小猿与数据库老头交互的事儿. 产品小汪铿锵有力的说:小猿同 ...

  4. java dao层代码生成器_实际开发中 dao、entity的代码怎样自动生成?一款工具送给你...

    01 关注"一猿小讲"朋友,都知道以往的文章一直倡导拒绝 CRUD,那到底什么是 CRUD?今天咱们就聊聊 Java 妹子小猿与数据库老头交互的事儿. 产品小汪铿锵有力的说:小猿同 ...

  5. 关于使用java程序从excel或者数据库中取出建表规则数据,自动生成数据库建表语句(适用于批量建数据库表)

    公司开发新系统,需要创建几百个数据库表,建表的规则已经写好放到Excel中,如果手动创建的话需要占用较长的时间去做,而且字段类型的规则又被放到了另一张表,如果手动去一个一个去匹配就很麻烦,所以我先把两 ...

  6. ASP.NET基础教程-Web 自定义控件的使用-根据属性值从数据库中提取数据并在页面上自动生成一个表格...

    一.新建一个Web 控件库; 二.在WebCustomControl1.cs文件中编制如下代码: using System; using System.Web.UI; using System.Web ...

  7. 工作中遇到的问题之android客户端自动生成带logo的二维码

    android中生成动态二维码很简单,网上随便搜一搜便能找到,本以为任务很快就把任务解决了,可是客户说二维码中一定要添加他们公司的logo这可把哥们难倒了,开始再次投入度娘的怀抱,查看各位大神的代码, ...

  8. 在eclipse中new 对象后怎么通过快捷键自动生成返回对象

    本来用的教育版IDEA,用了这么久IDEA Eclipse快捷键都忘了

  9. 【IDEA】Idea 中使用Lombok找不到其自动生成的方法 字符串超长 javac eclipse编译

    1.概述 今天要做测试,然后我拷贝了一个超长的字符串,然后运行的时候报错字符串超长. java常量字符串,允许的最大长度仅为65534. 归根结底是javac的问题,本身和idea没关系,但也不是-点 ...

最新文章

  1. dell新服务器安装系统
  2. Moving Towards Third‐Generation Sequencing Technologies 迈向第三代测序技术
  3. Catch Me If You ... Can't Do Otherwise--转载
  4. Solartimes共识——View(20060502)和Form(20060501)
  5. 大数据世界要熟悉的5门语言
  6. Linux系统安装证书(ubuntu、centos7)
  7. Lucy-Richardson加速算法以及PSF计算MATLAB代码
  8. js给百度地图上的圆点加自定义动画_three.js实现建筑物纹理流动
  9. 没有基础的想转行学习Python怎么学
  10. 最近30分钟合约市场爆仓1.03亿美元
  11. world: 对比两个文档
  12. 设计模式之六 --- 抽象工厂模式(Abstract Factory)
  13. Python 数据可视化之matpotlib画图
  14. vue项目,路由跳转页面后滚动条自动回到顶部
  15. Java怎么给窗口设置背景
  16. win10 安装 framework7 报错解决思路和方法
  17. 文档大小超出上传限制怎么办_有道翻译和翻译狗,哪个更适合翻译文档?
  18. java经典算法50题_JAVA经典算法50题
  19. 手机录音m4a怎么转换成mp3
  20. 一物一码(2): 一物一码之【红包那点事】

热门文章

  1. 接口与继承字段常量关系
  2. 千里之行,始于足下。职场人士必读的寓言
  3. noip模拟题 ----飞
  4. C语言程序设计50例(三)(经典收藏)
  5. iosclient暑期“动画屋“活动项目总结
  6. IDE to AHCI/RAID 蓝屏补丁
  7. 类的笔记整理__7-10__
  8. 杯具,丢失了一部分邮件
  9. java 常用接口的实现--compareable
  10. Spring Security(一):整合JWT