【发布时间】:2026-02-16 23:45:01
【问题描述】:
我有一个使用 java8 和响应式测试异步执行的存储库:
zadd 的接口:
Observable<Long> zadd(K key, double score, V member);
public class TargetClass()
{
..
public void executeMethod(List<String> input) {
input.forEach(item -> redisConnection.reactive().zadd(...).subscribe(
result -> log.info("Success")
error -> log.error("Failed...")
));
}
..
}
我的junit测试代码:
@Test
public void testMethod() {
TargetClass targetClass=new TargetClass();
targetClass.executeMethod(Arrays.asList("input1", "input2", "input3"));
//as you can see I must put here Thread.sleep in order to let my execution to finish before continue since we have dependency on it
try {
Thread.sleep(4000);
} catch (InterruptedException e) {
e.printStackTrace();
}
//continue with testing..
如何修改我的代码部分权限。添加Thread.sleep让异步方法代码发生感觉不太对
谢谢, 射线。
【问题讨论】:
-
@the8472 我知道未来。你能添加一个相关的例子吗?
标签: java java-8 reactive-programming observable lettuce