如何模拟返回`Mono <Void>`的方法

时间:2019-07-23 19:58:26

标签: java unit-testing mockito reactive-programming spring-webflux

如何模拟返回Mono<Void>的方法?

我有此方法返回Mono<Void>

public Mono<Void> deleteMethod(Post post) {

        return statusRepository.delete(post);
    }

在我的测试课中,我想做这样的事情

given(statusRepository.delete(any(Post.class))).willReturn(Mono.empty());

还有更好的方法吗?

有人可以帮我吗?

谢谢。

1 个答案:

答案 0 :(得分:3)

使用Mockito.when可以:

Mockito.when(statusRepository.delete(any(Post.class)).thenReturn(Mono.empty);

...调用方法并验证...

Mockito.verify(statusRepository).delete(any(Post.class));