加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 用Mockito测试Thymeleaf自定义方言

发布时间:2020-12-15 02:10:50 所属栏目:Java 来源:网络整理
导读:我最近为Thymeleaf编写了一个自定义方言以及一个自定义处理器来处理一些自定义标签,并在某些情况下用不同的标签替换它们,但是我在为处理器编写测试时遇到了问题: AbstractProcessor类需要覆盖 protected ProcessorResult doProcess(Arguments arguments,Pro
我最近为Thymeleaf编写了一个自定义方言以及一个自定义处理器来处理一些自定义标签,并在某些情况下用不同的标签替换它们,但是我在为处理器编写测试时遇到了问题:

AbstractProcessor类需要覆盖

protected ProcessorResult doProcess(Arguments arguments,ProcessorMatchingContext processorMatchingContext,Node node)

方法,这是我需要测试的方法.

由于我的处理器涉及从arguments参数中获取变量,所以我尝试模拟它;但是,Arguments,ProcessorMatchingContextand Node类都被声明为final,这意味着它们不能被Mockito模拟.

我真的不想实例化一个实际的Arguments对象,因为它依赖于其他5个无法模拟的对象,我最终会编写大量代码来测试处理器中的一行.

有关可能的测试策略的任何想法?

解决方法

我不知道这是否有帮助,但你可以使用 Objenesis实例化一个实际的(非模拟的)参数而不需要所有其他5个依赖类

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读