- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 JpaRepository 将集合保存到我的数据库中。这是方法的声明:
<S extends T> List<S> save(Iterable<S> entities);
在我的测试中,我使用 returnsFirstArg
作为答案,如下所示:
doAnswer(returnsFirstArg()).when(userRepository)
.save(anyListOf(User.class));
所以我想在不保存的情况下返回给定的集合。我无法返回 null
因为我测试了以下代码:
return userRepository.save(users);
然后我应该对结果做出断言。
模拟给我以下错误:
org.mockito.exceptions.misusing.WrongTypeOfReturnValue: The argument of type 'Iterable' cannot be returned because the following method should return the type 'List' -> userRepositorty bean.save()
The reason for this error can be : 1. The wanted argument position is incorrect. 2. The answer is used on the wrong interaction.
Position of the wanted argument is 0 and the possible argument indexes for this method are : [0] Iterable
我该如何解决这个问题?
Mockito 1.10.19
最佳答案
好吧,正如错误消息所暗示的那样,第一个参数是一个Iterable
,而不是一个List
。 returnsFirstArg
,不幸的是,即使您实际上传递的是 List
,也不允许您对参数进行向下转换。
令人惊讶的是,如果您只是天真地使用自己的 Answer
实现此行为,它就可以正常工作:
doAnswer(i -> i.getArguments()[0])
.when(userRepository)
.save(anyListOf(String.class));
它并不优雅,但很有魅力。
关于java - Mockito WrongTypeOfReturnValue 可迭代而不是列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41505923/
我使用 JpaRepository 将集合保存到我的数据库中。这是方法的声明: List save(Iterable entities); 在我的测试中,我使用 returnsFirstArg 作为
我有两个时间: when(mock.returnList()).thenReturn(); when(injectedMock.returnFloat()).thenReturn(float); 该错
实现类中的逻辑如下所示,我尝试编写一个模拟并获取异常作为 WrongTypeOfReturnValue /** * update audit and courier log when P
我最近才开始使用 Mockito(或为此进行模拟/ stub )。我开始了解如何模拟对象,但我坚持使用以下代码: public class ConveyorBeltTest { private Lay
我的测试 List myList; @Test public void testIsValidPerson() { myList = new ArrayList(); myList.a
我正在尝试执行简单的单元测试,但它仍然抛出 null 或一些奇怪的错误,例如: org.mockito.exceptions.misusing.WrongTypeOfReturnValue: Tick
错误详情: org.mockito.exceptions.misusing.WrongTypeOfReturnValue: Boolean cannot be returned by updateIt
有这个简单的片段。 @Component public class SomeDependency { public Optional getSomeInt(String string) {
我尝试为我的演示者创建测试,但是当我运行它时,我收到了这种错误 org.mockito.exceptions.misusing.WrongTypeOfReturnValue: ScalarSynchr
我是一名优秀的程序员,十分优秀!