当前位置: 首页 > article >正文

Mockito Mock DataSourceTransactionManager失败原因

Mockito Mock DataSourceTransactionManager失败原因

现象

    @Mock
    private DataSourceTransactionManager mDataSourceTransactionManager;

    @Before
    public void runBeforeEachTest() {
        DefaultTransactionDefinition def = new DefaultTransactionDefinition();
        def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);

        when(mDataSourceTransactionManager.getTransaction(eq(def))).thenReturn(null);
        doNothing().when(mDataSourceTransactionManager).commit(any(TransactionStatus.class));
        doNothing().when(mDataSourceTransactionManager).rollback(any(TransactionStatus.class));
org.mockito.exceptions.misusing.InvalidUseOfMatchersException: 
Invalid use of argument matchers!
0 matchers expected, 1 recorded:
-> at com.nuance.entrd.mc.nes.jobs.JobPollerTest.runBeforeEachTest(JobPollerTest.java:43)

This exception may occur if matchers are combined with raw values:
    //incorrect:
    someMethod(anyObject(), "raw String");
When using matchers, all arguments have to be provided by matchers.
For example:
    //correct:
    someMethod(anyObject(), eq("String by matcher"));

For more info see javadoc for Matchers class.

    at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:337)

原因

  • org.springframework.transaction.support.AbstractPlatformTransactionManager#getTransaction是个final方法
    在这里插入图片描述

解决办法

https://stackoverflow.com/questions/31807920/how-to-mock-datasourcetransactionmanager


http://www.kler.cn/news/363249.html

相关文章:

  • Python小游戏11——扑克牌消消看小游戏
  • ONLYOFFICE 文档8.2版本已发布:PDF 协作编辑、改进界面、性能优化等更新
  • 一招教你解决Facebook广告账号问题
  • css模糊遮罩效果
  • 计算机毕业设计hadoop+spark知识图谱中药推荐系统 中药材推荐系统 中药可视化 中药数据分析 中药爬虫 机器学习 深度学习 人工智能 大数据
  • Java安全编程:公钥加密和私钥签名的实践指南
  • 二、Linux 入门教程:开启大数据领域的神奇之旅
  • 【部署篇】Haproxy-01安装部署(源码方式安装)
  • 双碳”目标下民用建筑用户侧储能的管理
  • Vue3快速入门(一)环境配置与项目创建
  • 植物健康,Spring Boot来保障
  • nginx配置网站服务
  • 蓝桥杯注意事项
  • Linux中exec系列函数与fork函数
  • NoSuchBeanDefinitionException报错
  • 硬件产品经理的开店冒险之旅(下篇)
  • AWD初步学习
  • 智能听诊器革新宠物健康监测
  • 基于Python大数据的电影天堂网数据分析及可视化系统
  • Vue 常用的狗钩子函数
  • redis和memcached的区别
  • UnLua实现多态
  • 记内存泄漏排查,如何用dump文件 分析
  • C++——vector的模拟实现
  • Fuse.js 的原理:背后的算法与机制
  • 什么是 SELinux(安全增强型 Linux)?