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

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

我有这个返回的方法Mono<Void>

public Mono<Void> deleteMethod(Post post) {

        return statusRepository.delete(post);
    }

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

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

有没有更好的方法来做到这一点?

有人可以帮助我吗?

谢谢。


答案 1

这可以通过以下方式使用:Mockito.when

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

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

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

答案 2

我也能够在不使用的情况下做到这一点,因此反应式链将通过创建 void 类型的模拟对象来完成。下面是一个代码示例(用 Kotlin 编写并使用 mockito-kotlin,但也应该适用于 mockito):Mono.empty

val mockVoid: Void = mock()

whenever(statusRepository.delete(any(Post::class.java)).thenReturn(mockVoid)


推荐