首页 > 其他分享 >Mockito测试框架结合mybatisplus项目中第一次体验

Mockito测试框架结合mybatisplus项目中第一次体验

时间:2024-04-09 16:45:11浏览次数:24  
标签:调用 mybatisplus thenReturn Mockito when result 测试 体验 注解

因为要补充单测,一般的springbootTest不是真正意义上的单测。

我们需要mock数据库的连接,而不是真正的调用。

所以我觉得mockito测试框架就挺好的

pom引入如下代码,这里用inline是因为我要用到静态方法的调用。

        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-inline</artifactId>
            <version>3.7.7</version>
            <scope>test</scope>
        </dependency>

 

在测试类前加入

@RunWith(MockitoJUnitRunner.class)

在里面的字段里

主要测试的service字段加上

@InjectMocks注解,这个注解的作用是对该类自动注入所有需要Mock的对象,就是注入依赖对象。

他所调用的字段加上

@Mock注解。这个一般是用作什么呢?

就是写模拟如下:

when(xxx方法).thenReturn(结果);

如果测试的service类有调用本身的mybatisplus的方法,一定要加上@Spy,这个注解是对里面的方法进行真实调用

 

举例这样使用:

@InjectMocks

@Spy

xxxservice

 

@mock

xxxMapper

@Test
    public void test() {
        xxxInfoEntity xxxInfo=new xxxInfoEntity();
        xxxInfo.setStatus(xxxStatus.ONLINE.getValue());

        when(xxxService.getBaseMapper()).thenReturn(xxxMapper);
        when(xxxService.getBaseMapper().selectById(anyString())).thenReturn(xxxInfo);

        Boolean result;
        try{
            result=xxxService.deregisterxxx("xxx");
        }catch (Exception e){
            log.error(""+e);
            result=false;
        }
        Assert.assertFalse(result);
    }

 

如果有静态方法,这样使用

try (MockedStatic<类> mb = Mockito
            .mockStatic(类名.class)) {
            mb.when(()->类的方法).thenReturn(list);

            //注意:调用待测试方法的时候一定要在try里面写

        }

 

标签:调用,mybatisplus,thenReturn,Mockito,when,result,测试,体验,注解
From: https://www.cnblogs.com/immersed-in-the-deep-sea/p/18124288

相关文章

  • 【最新】Claude Pro订阅充值教程,超大杯模型Claude 3 Opus模型体验方法
    一、关于ClaudePro|Claude3OpusClaude3系列包含三个大模型,按能力由弱到强别是:Claude3Haiku(最小/速度最快)Claude3Sonnet(标准/免费使用)Claude3Opus(最强/需要付费订阅)其中,最强的Opus在多项基准测试中得分都超过了GPT-4和Gemini1.0Ultra,......
  • 防水游泳耳机有哪些?揭秘四大实力派,颠覆水下聆听体验
    随着科技的飞速发展,音乐已经成为我们生活中不可或缺的一部分。对于广大游泳爱好者来说,如何在水中也能畅享音乐成为了一个新的挑战。防水游泳耳机作为解决这一问题的利器,越来越受到消费者的青睐。(以上是部分测试过的游泳耳机)但面对市场上琳琅满目的产品,如何挑选一款既防水又......
  • 【javaWeb &第十二篇】MybatisPlus
    MybatisPlus详细学习快速入门MybatisPlus特性标准数据层开发分页查询按条件查询查询投影DQL编程控制DML编程控制逻辑删除乐观锁代码生成器快速入门MybatisPlus是基于Mybatis框架基础上开发的增强型工具,旨在简化开发,提高效率官方地址:http://mp.baomidou.com/开......
  • java 企业工程管理系统软件源码+Spring Cloud + Spring Boot +二次开发+ MybatisPlus
    鸿鹄工程项目管理系统SpringCloud+SpringBoot+Mybatis+Vue+ElementUI+前后端分离构建工程项目管理系统项目背景一、随着公司的快速发展,企业人员和经营规模不断壮大。为了提高工程管理效率、减轻劳动强度、提高信息处理速度和准确性,公司对内部工程管理的提升提出了更高的要......
  • java 企业工程管理系统软件源码+Spring Cloud + Spring Boot +二次开发+ MybatisPlus
     鸿鹄工程项目管理系统SpringCloud+SpringBoot+Mybatis+Vue+ElementUI+前后端分离构建工程项目管理系统项目背景一、随着公司的快速发展,企业人员和经营规模不断壮大。为了提高工程管理效率、减轻劳动强度、提高信息处理速度和准确性,公司对内部工程管理的提升提出了更高的......
  • 去哪儿完成鸿蒙原生应用Beta版本开发,带来一站式在线旅行体验
    近日,国内领先的在线旅行服务平台去哪儿宣布完成鸿蒙原生应用Beta版本开发,成为旅行行业中首批完成Beta版开发的应用之一,该版本已经实现了机票预订、支付、服务等功能,将为用户提供更为便捷、智能的旅行体验。这不仅为旅行行业树立了榜样,也为整个互联网行业在鸿蒙系统上的发展提供了......
  • 【游戏设计随笔07】游戏设计师怎样防止玩家破坏自己该有的游戏体验?
    一、玩家会重复选择成功率高的策略风险能带来损失,也能带来收益。但是在失败成本过高的情况下(比如在某些一被发现则判定为失败的潜行游戏),大部分玩家并不会选择冒险而是选择成功率更高的方式去游玩,他们会重复选择更加谨慎的选择,导致游戏体验并没有按照收益更高同时风险更大的方式......
  • Spring Boot数据缓存之Spring缓存抽象 @Cacheable初体验
    在数据缓存之Cache规范JSR107中对Spring的缓存抽象有了一定的了解,下面通过示例实战对其深入探讨。需要注意的是使用Spring缓存抽象时要关注两点:①确定那些方法需要被缓存    ②缓存策略具体案例如下:1、导入依赖Mysql、Mybatis、W......
  • OpenHarmony 4.1 Release版本正式发布,邀您体验
    春风轻拂的4月,OpenAtomOpenHarmony(以下简称“OpenHarmony”)4.1Release版本如期而至,开发套件同步升级到API11Release。相比4.0Release版本,4.1Release版本应用开发的开放能力以全新的Kit维度呈现,提供给开发者更清晰的逻辑和场景化视角;新增4000多个API,应用开发能力更加丰富;Ark......
  • 体验Semantic Kernel图片内容识别
    前言    前几日在浏览devblogs.microsoft.com的时候,看到了一篇名为ImagetoTextwithSemanticKernelandHuggingFace的文章。这篇文章大致的内容讲的是,使用SemanticKernel结合HuggingFace来实现图片内容识别。注意,这里说的是图片内容识别,并非是OCR,而是它可以大致的描述......