mockito throwing InvalidUseOfMatchersException



My getUserDetails 类将 User(custome class) 和字符串作为参数并返回 User。如果我使用Mockito匹配器,如下所示:

when(authService.getUserDetails(any(User.class),anyString())).thenReturn(any(User.class));

它给了我无效使用匹配器异常 2 个匹配器预期,3 个找到。我不能使用上面的表达式吗?

匹配器不用于返回。

.thenReturn(any(User.class));

你必须在这里归还一些有形的东西。 匹配器仅用于匹配输入,以便您可以指定在提供某些输入时返回的内容。 您仍然需要有一个实际输出才能返回。

你应该将User的实例传递给thenReturn,而不是匹配器。调用authService.getUserDetails时将返回该User实例。

此代码将起作用:

  User user=new User();
  when(authService.getUserDetails(any(User.class),anyString())).thenReturn(user));

因为应该有一个值而不是输入 thenReturns()

相关内容

  • 没有找到相关文章