public class Foo {
private Bar bar;
public Foo(Bar bar) {
this.bar = bar;
}
public Completable execute() {
return Completable.fromAction(() -> System.out.println("first part of task"))
.andThen(bar.dangerousMethod()
.retry(10)
)
.andThen(Completable.fromAction(() -> System.out.println("sec part of task")));
}
}
public interface Bar {
Completable dangerousMethod();
}
@Mock private Bar bar;
@InjectMocks private Foo foo;
@Test
public void test() throws Exception {
when(bar.dangerousMethod()).thenReturn(
error(new Exception()),
error(new Exception()),
complete()
);
foo.execute()
.test()
.assertComplete();
}
如何以正确的方式使用Mockito测试.retry()
方法?
您不应该测试这个方法,因为它不是代码的一部分,而且(我希望)编写RxJava库的人已经对它进行了很好的测试。
但无论如何,如果你想测试你能做到:
将when语句替换为:
when(bar.dangerousMethod()).thenReturn(
Completable.defer(new Callable<CompletableSource>() {
boolean fail = true;
@Override
public CompletableSource call() throws Exception {
if(fail) {
fail = false;
return Completable.error(new Exception());
} else {
return Completable.complete();
}
}
}));
编辑:这里https://github.com/wujek-srujek/reactor-retry-test是一个包含所有代码的存储库。 我有以下Spring代码要发布到远程服务器(为了简洁起见,没有导入Kotlin代码): (它返回一个空的,因为我们不期望得到答案,也不关心它。) 我想测试两个案例,其中一个让我头疼,即我想测试的所有重试都被解雇了。我们使用的是(https://github.c
我有一个自定义对象列表(
我使用JUnit4和Mockito创建了一个Spring Boot2应用程序。当我测试某种方法时。会出现这样的例外: 这是我的测试代码 SuveryService.java SurveyRepository.java 我引用了这篇文章Mockito NullPointerException,但这个问题仍然存在。任何帮助都将被应用。
问题内容: 我有一组三个列表项,它们希望在页面加载时从高到低自动显示。理想情况下使用jquery或javascript。 每个列表项都需要有自己的ID,因为它们每个都有各自的背景图像。数字必须是文本节点,以便用户可以编辑它们。 问题答案: 这可能是最快的方法,因为它不使用jQuery: 像下面这样调用函数: 您可以以相同的方式对其他列表进行排序,如果列表类在同一页面上还有其他元素,则应给您的ul一
问题内容: 我正在尝试查找给定字符串的排列,但是我想使用迭代。我在网上找到了递归解决方案,但我确实理解它,但是将其转换为迭代解决方案实际上是行不通的。下面附上我的代码。我非常感谢您的帮助: 问题答案: 在我的相关问题评论之后,这是一个Java实现,可以使用Counting QuickPerm Algorithm 来完成您想要的事情:
我有一个这样的方法: 此方法需要以如下字符串形式返回3个最昂贵项目的产品ID:“item1,item2,item3”。我应该只能使用溪流,我被困在这里了。我应该能够按值对项目进行排序,然后获得产品ID,但我似乎无法使其正常工作。 编辑: 产品ID位于入口类中