小编lah*_*umw的帖子

模拟Redis模板

我在模拟Redis模板中遇到问题。谁能帮我为下课写单元测试。

@Repository
public class CasheRepo {

    @Autowired
    private RedisTemplate<String, Object> template;

    public Object getObject(final String key) {
    return template.opsForValue().get(key);
    }
}
Run Code Online (Sandbox Code Playgroud)

下面是单元测试课程。但这不起作用。它显示空点异常

@RunWith(MockitoJUnitRunner.class)
public class CashRepoTest {
    @InjectMocks
    private CasheRepo casheRepo = new CasheRepo();

    private @Mock RedisConnection redisConnectionMock;
    private @Mock RedisConnectionFactory redisConnectionFactoryMock;

    private RedisTemplate redisTemplate;

    @Before
    public void setUp() {   Mockito.when(redisConnectionFactoryMock.getConnection()).thenReturn(redisConnectionMock);   
    redisTemplate = new RedisTemplate();
    redisTemplate.setConnectionFactory(redisConnectionFactoryMock);
    redisTemplate.afterPropertiesSet();
    }

    @Test
    public void getObjectTest() {
    Mockito.doNothing().when(redisTemplate).opsForValue().set("spring", "data");
    redisTemplate.afterPropertiesSet();  
    System.out.println(redisTemplate.opsForValue().get("spring"));   
    }    
}
Run Code Online (Sandbox Code Playgroud)

java unit-testing mockito redis spring-data-redis

6
推荐指数
2
解决办法
6034
查看次数

标签 统计

java ×1

mockito ×1

redis ×1

spring-data-redis ×1

unit-testing ×1