我想为以下语句创建一个Mockito 'when'子句:
boolean emailEmUso = userRepository.findByEmail(userDtoRequest.email())
.stream()
.anyMatch(c -> !c.equals(userDtoRequest));
字符串
有可能吗?
when(userRepository.findByEmail(userDtoRequest.email())
.stream()
.anyMatch(c -> !c.equals(userDtoRequest)))
.thenReturn(false);
型
1条答案
按热度按时间w41d8nur1#
当编写需要某种形式的模拟或存根的集成测试时,您希望尽可能少地模拟以复制所需的行为。
具体来说,您通常不希望模拟任何底层JRE(或任何其他语言)功能(这超出了您的测试范围,并且并不总是容易实现)。
stream()
、anyMatch()
等是已经被广泛测试过的库函数,你的测试应该正常执行它们,这样你就可以验证你对这些函数的正确使用。这样做的标准方法是模拟
userRepository.findByEmail(userDtoRequest.email())
的返回值,让代码的其余部分正常运行。字符串