#314 使用NoSQL Unit的嵌入式Redis编写测试
This commit is contained in:
+11
-4
@@ -188,7 +188,6 @@ public class JedisTemplate {
|
||||
|
||||
public long incr(final String key) {
|
||||
return execute(new JedisAction<Long>() {
|
||||
|
||||
@Override
|
||||
public Long action(Jedis jedis) {
|
||||
return jedis.incr(key);
|
||||
@@ -198,7 +197,6 @@ public class JedisTemplate {
|
||||
|
||||
public long decr(final String key) {
|
||||
return execute(new JedisAction<Long>() {
|
||||
|
||||
@Override
|
||||
public Long action(Jedis jedis) {
|
||||
return jedis.decr(key);
|
||||
@@ -209,7 +207,6 @@ public class JedisTemplate {
|
||||
// ////////////// 关于List ///////////////////////////
|
||||
public void lpush(final String key, final String value) {
|
||||
execute(new JedisActionNoResult() {
|
||||
|
||||
@Override
|
||||
public void action(Jedis jedis) {
|
||||
jedis.lpush(key, value);
|
||||
@@ -217,6 +214,16 @@ public class JedisTemplate {
|
||||
});
|
||||
}
|
||||
|
||||
public String rpop(final String key) {
|
||||
return execute(new JedisAction<String>() {
|
||||
|
||||
@Override
|
||||
public String action(Jedis jedis) {
|
||||
return jedis.rpop(key);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回List长度, key不存在时返回0,key类型不是list时抛出异常.
|
||||
*/
|
||||
@@ -284,7 +291,7 @@ public class JedisTemplate {
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回List长度, key不存在时返回0,key类型不是sorted set时抛出异常.
|
||||
* 返回sorted set长度, key不存在时返回0,key类型不是sorted set时抛出异常.
|
||||
*/
|
||||
public long zcard(final String key) {
|
||||
return execute(new JedisAction<Long>() {
|
||||
|
||||
+30
@@ -51,4 +51,34 @@ public class JedisTemplateTest {
|
||||
assertThat((long) jedisTemplate.getAsLong(key)).isEqualTo(123L);
|
||||
assertThat((long) jedisTemplate.getAsLong(notExistKey)).isZero();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void listActions() {
|
||||
String key = "test.string.key";
|
||||
String value = "123";
|
||||
String value2 = "456";
|
||||
|
||||
// push/pop single element
|
||||
jedisTemplate.lpush(key, value);
|
||||
assertThat(jedisTemplate.llen(key)).isEqualTo(1);
|
||||
assertThat(jedisTemplate.rpop(key)).isEqualTo(value);
|
||||
|
||||
// push/pop two elements
|
||||
jedisTemplate.lpush(key, value);
|
||||
jedisTemplate.lpush(key, value2);
|
||||
assertThat(jedisTemplate.llen(key)).isEqualTo(2);
|
||||
assertThat(jedisTemplate.rpop(key)).isEqualTo(value);
|
||||
assertThat(jedisTemplate.rpop(key)).isEqualTo(value2);
|
||||
|
||||
// remove elements
|
||||
jedisTemplate.lpush(key, value);
|
||||
jedisTemplate.lpush(key, value);
|
||||
jedisTemplate.lpush(key, value);
|
||||
assertThat(jedisTemplate.llen(key)).isEqualTo(3);
|
||||
assertThat(jedisTemplate.lremOne(key, value)).isTrue();
|
||||
assertThat(jedisTemplate.llen(key)).isEqualTo(2);
|
||||
assertThat(jedisTemplate.lremAll(key, value)).isTrue();
|
||||
assertThat(jedisTemplate.llen(key)).isEqualTo(0);
|
||||
assertThat(jedisTemplate.lremAll(key, value)).isFalse();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user