麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Java > 正文

Spring Boot單元測試中使用mockito框架mock掉整個RedisTemplate的示例

2024-07-14 08:43:03
字體:
來源:轉載
供稿:網友

概述

當我們使用單元測試來驗證應用程序代碼時,如果代碼中需要訪問Redis,那么為了保證單元測試不依賴Redis,需要將整個Redis mock掉。在Spring Boot中結合mockito很容易做到這一點,如下代碼:

import org.mockito.Mockito;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.data.redis.connection.RedisConnection;import org.springframework.data.redis.connection.RedisConnectionFactory;import org.springframework.data.redis.core.*;import org.springframework.test.context.ActiveProfiles;import static org.mockito.Mockito.when;/** * mock掉整個RedisTemplate */@ActiveProfiles("uttest")@Configurationpublic class RedisTemplateMocker {  @Bean  public RedisTemplate redisTemplate() {    RedisTemplate redisTemplate = Mockito.mock(RedisTemplate.class);    ValueOperations valueOperations = Mockito.mock(ValueOperations.class);    SetOperations setOperations = Mockito.mock(SetOperations.class);    HashOperations hashOperations = redisTemplate.opsForHash();    ListOperations listOperations = redisTemplate.opsForList();    ZSetOperations zSetOperations = redisTemplate.opsForZSet();    when(redisTemplate.opsForSet()).thenReturn(setOperations);    when(redisTemplate.opsForValue()).thenReturn(valueOperations);    when(redisTemplate.opsForHash()).thenReturn(hashOperations);    when(redisTemplate.opsForList()).thenReturn(listOperations);    when(redisTemplate.opsForZSet()).thenReturn(zSetOperations);    RedisOperations redisOperations = Mockito.mock(RedisOperations.class);    RedisConnection redisConnection = Mockito.mock(RedisConnection.class);    RedisConnectionFactory redisConnectionFactory = Mockito.mock(RedisConnectionFactory.class);    when(redisTemplate.getConnectionFactory()).thenReturn(redisConnectionFactory);    when(valueOperations.getOperations()).thenReturn(redisOperations);    when(redisTemplate.getConnectionFactory().getConnection()).thenReturn(redisConnection);    return redisTemplate;  }}

上面的代碼已經mock掉大部分的Redis操作了,網友想mock掉其他操作,自行加上即可。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 视频一区二区视频 | 一级毛片手机在线观看 | 爱福利视频 | av在线免费在线观看 | 久久国产精品久久久久久电车 | 国产精品av久久久久久网址 | 国内性爱视频 | 韩国十九禁高潮床戏在线观看 | 精品国产一区二区三区四区阿崩 | 曰韩精品 | 草草久久久 | 一日本道久久久精品国产 | 久久艹逼 | 999久久国精品免费观看网站 | 成人午夜免费福利 | 草草视频免费观看 | 娇妻被各种姿势c到高潮小说 | 欧美综合在线观看视频 | 久久亚洲成人 | chengrenyingshi| 青久草视频 | 91成人在线免费视频 | 播色网 | www.射| 日日操夜夜透 | 国产成人高潮免费观看精品 | 中文字幕一区在线观看视频 | 99精品视频在线看 | 国产永久免费观看 | 成年人黄色免费电影 | 97久久精品一区二区三区观看 | 日本黄色免费观看视频 | 国产91九色| 久久爽久久爽久久av东京爽 | 精品一区二区三区免费毛片 | 在线免费观看精品 | 日产精品一区二区三区在线观看 | 一本色道久久99精品综合蜜臀 | 午夜神马电影网 | 久久亚洲精品久久国产一区二区 | 免费看欧美一级特黄a毛片 九色com |