如何模拟 returns `Mono<Void>` 的方法
How to mock a method that returns `Mono<Void>`
如何模拟 returns Mono<Void>
的方法?
我有这个方法 returns Mono<Void>
public Mono<Void> deleteMethod(Post post) {
return statusRepository.delete(post);
}
在我的测试中class我想做这样的事情
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)
如何模拟 returns Mono<Void>
的方法?
我有这个方法 returns Mono<Void>
public Mono<Void> deleteMethod(Post post) {
return statusRepository.delete(post);
}
在我的测试中class我想做这样的事情
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)