草庐IT

mockito-kotlin

全部标签

java - 模棱两可的 Mockito - 预期 0 个匹配器,记录 1 个(InvalidUseOfMatchersException)

我遇到了一个非常奇怪的问题。URL="/my/specific/url/";when(this.restHelperMock.post(eq(myEnum),eq(this.config.apiEndpoint()+URL),any(JSONObject.class))).thenReturn(newJSONObject(myDesiredJsonContent));甚至包含URL="/my/specific/url/";when(this.restHelperMock.post(eq(myEnum),contains(this.config.apiEndpoint()+URL),an

java - 确保在 mockito 中不调用非模拟方法

在下面的例子中:Executionexecution=mock(Execution.class);when(execution.getLastQty()).thenReturn(1000.0);when(execution.getLastPrice()).thenReturn(75.0);order.onFillReceived(execution);assertEquals(0,order.getLeavesQty(),0);Execution还有很多其他不应该调用的方法。只有被模拟的两个方法应该在这个测试中使用并且应该被调用。如果调用任何其他方法,则测试应该失败。如果调用任何其他方

java - Junit mockito when(..).thenReturn() 抛出 NullPointerException

谁能给我解释一下下面的场景待测代码用户交易.java@OverridepublicServiceResponseget(Stringname){ServiceResponseresponse=newServiceResponse();List>exp=newArrayList>();Mapmap=newHashMap();map.put("expression","eq");map.put("property","name");map.put("value",name);exp.add(map);Listusers=userDao.getByCriteria(exp);if(!user

java - 用 mockito 模拟构造函数

我想模拟一个构造函数到方法中。publicStringgeneraID(){GeneraIDParaEntidadClienteaux=newGeneraIDParaEntidadCliente(nombre,registro);entidad.setID(aux.generaID);}在我的测试中我想做这样的事情:when(newGeneraIDParaEntidadCliente(anyString(),any(Entidad.class)).thenReturn(generaIdMock)但给我这个错误org.mockito.exceptions.misusing.Invalid

java - 如何更改通过引用传递给 Mockito 中的模拟的对象

给定以下代码@MockClientclient;ByteArrayOutputStreambaos=newByteArrayOutputStream();client.retrieveFile(baos);//clientissupposedtofillboaswithdata如何指示Mockito填充baos对象? 最佳答案 您可以使用MockitosAnswer.doAnswer(newAnswer(){@OverridepublicObjectanswer(InvocationOnMockinvocation){Object[

java - PowerMock Mockito [PowerMockito] @PrepareForTest -> java.lang.NoClassDefFoundError : javassist/NotFoundException

我正在尝试在现有的JUnit测试中使用我的第一个PowerMockito[PowerMock+Mockito]模拟。当我只存在类级注释@PrepareForTest(以及@RunWith(PowerMockRunner.class)时,我已经缩小了范围,但没有任何实际的模拟代码),我得到java.lang.NoClassDefFoundError:javassist/NotFoundException:如果我注释掉@PrepareForTest,以及任何实际的模拟代码以消除混杂变量,该错误不会发生;如果我只对@PrepareForTest取消注释,则会发生错误。所以我相信这可以将问题缩

java - Mockito - 检查是否在对象上调用了 NO 方法(未访问对象)

我想编写一个测试,将模拟对象A传递给被测对象B,并检查是否调用了A的任何方法。为了提供一些上下文,类B旨在根据一组参数以特定方式操纵A,并且在某些条件下它根本不应该对它做任何事情。所以我的目标是测试那个场景。我知道如何测试特定方法是否被调用:verify(A,never()).myMethod();但我找不到一种方法来确保A没有调用任何方法。有办法做到这一点吗? 最佳答案 我相信verifyNoInteractions可能是你要找的。在您的情况下,您将调用Mockito.verifyNoInteractions(A)。publics

java - 哪个是最好的 Java 隔离框架? JMock、Easymock、Mockito 或其他?

我知道以前有人问过这个问题,但最后一次是在2008年年中。如果您现在开始一个新项目,您会使用哪个?为什么?它们在可读性、可用性、可维护性和整体稳健性方面的优势/劣势是什么? 最佳答案 之前用过Easymock,现在用的是Mockito。与Easymock相比,我发现Mockito更简单。Easymock和Mockito的详细对比可以引用here 关于java-哪个是最好的Java隔离框架?JMock、Easymock、Mockito或其他?,我们在StackOverflow上找到一个类似

java - 使用 jUnit 和 Mockito 对外部 REST API 调用进行单元测试

我正在SpringBootJava应用程序中为服务类构建单元测试。服务类对返回JSON响应的RESTAPI服务进行外部调用。我正在使用Mockito模拟这个调用。我在模拟服务器响应中对JSON进行硬编码。在单元测试中使用硬编码JSON是一种不好的做法吗?如果JSON结构改变,那么测试应该失败是我的推理。是否有更好的最佳实践在哪里执行此操作?下面的示例片段:实际代码是有效的,为了简洁起见,我只是编辑了这个片段以表达想法,所以如果您发现任何错误,请发表评论:publicclassUserServiceTestextendsTestCase{privatestaticfinalStringM

java - Mockito:如果传递给 mock 的参数被修改了怎么办?

我们在使用Mockito时遇到了非常棘手的问题。代码:publicclassBaz{privateFoofoo;privateListlist;publicBaz(Foofoo){this.foo=foo;}publicvoidinvokeBar(){list=Arrays.asList(1,2,3);foo.bar(list);list.clear();}}publicclassBazTest{@TestvoidtestBarIsInvoked(){FoomockFoo=mock(Foo.class);Bazbaz=newBaz(mockFoo);baz.invokeBar();ve