package yy.xx.redis;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Repository;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
@Repository
public class RedisDAO {
private static final Logger logger = Logger.getLogger(RedisDAO.class);
private JedisPool jedisPool;
public JedisPool getJedisPool() {
return jedisPool;
}
public void setJedisPool(JedisPool jedisPool) {
this.jedisPool = jedisPool;
}
public Jedis getClient() {
Jedis redisClient = jedisPool.getResource();
if(redisClient == null){
return redisClient;
}
if (!redisClient.isConnected()) {
redisClient.connect();
logger.debug("redisClient is on connect");
}
return redisClient;
}
public void closeClient(Jedis client) {
if (client != null)
jedisPool.returnResource(client);
logger.debug("redisClient is return resource");
}
}
package yy.xx.redis;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.testng.Assert;
import org.testng.annotations.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
public class RedisDAOTest {
@InjectMocks//有实际方法调用时用,比如set了想看GET
private RedisDAO dao;
private final Jedis redisClient = Mockito.mock(Jedis.class);
private final JedisPool jedisPool = Mockito.mock(JedisPool.class);
@Test
public void test() {
MockitoAnnotations.initMocks(this);
Assert.assertNotNull(dao);
dao.setJedisPool(jedisPool);
Assert.assertNotNull(dao.getJedisPool());
Mockito.when(dao.getClient()).thenReturn(redisClient);
Assert.assertNotNull(dao.getClient());
dao.closeClient(redisClient);
}
}
相关推荐
内容概要:参考Mockito官方API文档,实践框架每个特性。 适合人群:Mockito入门人员以及想全面熟悉Mockito特性的人员,做到了开箱即用。 能学到什么:“Mockito 4.6.0 + Junit 5”的组合编程。 使用建议:使用前安装...
TestNG和Mockito是两个在单元测试领域常用的工具,它们分别用于测试管理和模拟对象。本篇文章将深入探讨如何在Spring项目中集成TestNG和Mockito进行单元测试。 TestNG是一个强大的测试框架,它扩展了JUnit的功能,...
### Mocks, Mockito, and Spock 在软件开发过程中,单元测试是确保代码质量的关键环节之一。为了提高单元测试的有效性和可维护性,开发者经常使用模拟对象(Mocks)来代替真实对象进行测试。本文将详细介绍Mocks的...
本篇文章将深入探讨如何结合TestNG、Mockito以及Spring的自动装配注解进行有效的集成测试。以下是对这些技术的详细说明: TestNG是一个功能强大的测试框架,它是JUnit的替代品,提供了更丰富的功能,如并行测试执行...
Mockito 和 JUnit 5 是两个非常流行的 Java 开发工具,它们一起提供了强大的单元测试支持。让我们深入探讨如何利用 Mockito 和 JUnit 5 搞定单元测试。 首先,JUnit 5 是一个广泛使用的 Java 测试框架,它提供了...
6. **测试和持续集成**:编写单元测试和集成测试,利用Junit和Mockito等工具,确保每个组件的正确性。同时,引入CI/CD工具(如Jenkins或GitLab CI/CD),自动化构建和部署流程。 7. **微服务化**:随着项目发展,可...
10. **测试与监控**:项目可能包含单元测试、集成测试,使用JUnit、Mockito等工具,同时,借助SpringBoot的Actuator模块进行健康检查和性能监控。 综上所述,这个后台管理系统利用了多种前沿技术和最佳实践,构建了...
Mockito 是一个流行的 Java 单元测试框架,它允许开发者创建和配置模拟对象,以便在测试中隔离被测试代码。JUnit 是一个广泛使用的 Java 测试框架,它为编写和运行可重复的单元测试提供了基础。将 Mockito 和 JUnit ...
testCompile 'org.mockito:mockito-all:1.9.5' testCompile group: 'org.apache.tomcat', name: 'tomcat-coyote', version: '8.0.8' } task javadocJar(type: Jar, dependsOn: javadoc) { classifier = '...
Spring集成TestNG与Mockito框架单元测试方法的文档详细介绍了如何在Java Spring项目中,利用TestNG和Mockito框架进行单元测试。这种测试方法可以帮助开发者快速上手单元测试,并确保代码质量。文档涉及了多个方面,...
单元测试和集成测试则可以使用JUnit和Mockito等工具进行,确保代码质量。 总之,本项目结合了SpringBoot的便捷性、MyBatis的灵活性和Redis的高性能,构建了一个实用的图像素材管理系统,为用户提供了高效、安全的...
【标题】中的“基于Springboot+MybatisPlus+Redis 外卖网站源代码,外卖管理系统源代码”指的是一款使用Spring Boot、Mybatis Plus和Redis技术栈开发的外卖管理系统的完整源码。这个系统可能包括了用户下单、商家...
开发过程中,开发人员会利用Maven或Gradle进行依赖管理,IntelliJ IDEA或Eclipse作为IDE,Junit和Mockito进行单元测试。部署时,可能会采用Docker容器化技术,配合Docker Compose或Kubernetes进行集群部署。 综上...
为确保系统的稳定性和正确性,通常会有单元测试和集成测试,利用JUnit和Mockito等工具对关键组件和业务逻辑进行测试。 以上就是基于Spring Boot、MyBatis-Plus、MySQL和Redis的NBA球员数据管理系统的关键知识点。...
测试方面,JUnit和Mockito用于单元测试,Postman用于接口测试。 7. **性能优化**:除了使用Redis缓存外,还可以考虑数据库索引优化、读写分离、负载均衡等策略,提高系统的并发处理能力和响应速度。 总的来说,这...
在开发过程中,为了确保代码质量,可能会运用Maven或Gradle进行项目管理,以及JUnit和Mockito进行单元测试。同时,采用Git进行版本控制,保证团队协作的顺利进行。 总的来说,这个基于微信小程序的图书馆座位预约...
8. **开发与部署**:开发过程中,可能使用Maven或Gradle进行构建管理,单元测试用JUnit进行,集成测试可能结合Mockito和Spring Boot测试框架。部署时,Spring Boot应用可直接打包为可执行jar,配合Docker容器化技术...