如何模拟返回Mono<Void>
的方法?
我有这个返回Mono<Void>
的方法
public Mono<Void> deleteMethod(Post post) {
return statusRepository.delete(post);
}
在我的测试课上,我想做这样的事情
given(statusRepository.delete(any(Post.class))).willReturn(Mono.empty());
有没有更好的方法可以做到这一点?
有人可以帮助我吗?
谢谢。
这可以使用Mockito.when
Mockito.when(statusRepository.delete(any(Post.class)).thenReturn(Mono.empty());
。调用该方法并验证...
Mockito.verify(statusRepository).delete(any(Post.class));
我也能够在不使用Mono.empty
的情况下做到这一点,因此响应式链将通过创建 void 类型的模拟对象来完成。下面是一个代码示例(用 Kotlin 编写并使用 mockito-kotlin,但也应该适用于 mockito(:
val mockVoid: Void = mock()
whenever(statusRepository.delete(any(Post::class.java)).thenReturn(mockVoid)
当我不想有一个空的单声道时,我会这样做。
when(statusRepository.delete(any(Post.class))).thenReturn(Mono.just("").then());