12 2020 档案

摘要:我们深入研究元空间的架构。我们描述了各个层和组件,以及它们是如何协同工作的。 这对那些想要破解hotspot和Metaspace或者至少真正理解内存的去向以及为什么我们不能仅仅使用malloc的人来说是很有趣的。 与大多数其他非平凡的分配器一样,元空间是在层中实现的。 在底部,内存是在操作系统的大区 阅读全文
posted @ 2020-12-14 23:31 Java老K 阅读(498) 评论(0) 推荐(0) 编辑
摘要:Spock虽然好用,但要应用到实际项目中还是需要注意几个问题,下面讲下我们公司在使用过程中遇到的一些问题和解决方案 版本依赖 要使用Spock首先需要引入相关依赖,目前使用下来和我们项目兼容的Spock版本是1.3-groovy-2.5,以maven为例(gradle可以参考官网),完整的pom依赖 阅读全文
posted @ 2020-12-09 00:05 Java老K 阅读(1519) 评论(0) 推荐(0) 编辑
摘要:我们平时写单元测试时经常会遇到调用抽象类或父类的方法,这些抽象方法可能是调用底层接口或数据库,需要mock掉,让抽象方法返回一个我们指定的值,以便测试当前代码逻辑的场景。 下面讲下Spock如何结合power mock实现动态mock抽象方法 一. 抽象方法或父类方法动态Mock AbstractS 阅读全文
posted @ 2020-12-08 00:26 Java老K 阅读(768) 评论(0) 推荐(0) 编辑
摘要:这一篇介绍在实际使用Spock的过程中如何把一些常用的测试方法抽出来,封装成基类使用 BaseSpock 在前面几篇文章讲解Spock结合power mock实现静态方法mock功能时,示例代码里经常会用到LogUtils等工具类的静态方法去记录日志,那我们就可以把LogUtils类的mock代码抽 阅读全文
posted @ 2020-12-06 23:04 Java老K 阅读(574) 评论(0) 推荐(0) 编辑
摘要:这篇讲解Spock自带的mock功能如何和power mock组合使用,发挥更强大的作用 动态Mock静态方法 (Spock Where + Power Mock) 在上一篇的例子中使用power mock让静态方法返回一个指定的值,那能不能每次返回不同的值呢? 我们先看下什么场景需要这样做: /* 阅读全文
posted @ 2020-12-04 00:16 Java老K 阅读(1870) 评论(0) 推荐(0) 编辑
摘要:本篇主要讲解Spock如何扩展第三方Power Mock对静态方法进行测试 实现原理 前面的文章讲到Spock的单测代码是继承自Specification基类,而Specification又是基于Junit的注解@RunWith()实现的,代码如下: @RunWith(Sputnik.class) 阅读全文
posted @ 2020-12-02 23:46 Java老K 阅读(1599) 评论(0) 推荐(0) 编辑
摘要:本篇讲解如何针对void方法,即无返回结果的方法测试 void方法 void方法的测试不能像前面几篇介绍的那样在then标签里验证返回结果,因为void方法没有返回值 一般来说无返回值的方法,内部逻辑会修改入参的属性值,比如参数是个对象,那代码里可能会修改它的属性值,虽然没有返回,但还是可以通过校验 阅读全文
posted @ 2020-12-01 23:07 Java老K 阅读(1001) 评论(0) 推荐(0) 编辑
摘要:这一篇主要讲使用Spock如何测试代码中抛异常的场景 背景 有些方法需要抛出异常来中断或控制流程,比如参数校验的逻辑: 不能为null,不符合指定的类型,list不能为空等验证,如果校验不通过则抛出checked异常,这个异常一般都是我们封装的业务异常信息,比如下面的业务代码: /** * 校验请求 阅读全文
posted @ 2020-12-01 00:26 Java老K 阅读(796) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示