草庐IT

DexMaker-Mockito

全部标签

java - 当我将多个自定义匹配器分配给一个方法时,Mockito 的行为很奇怪

我想为一个方法使用两个自定义匹配器。基本上,如果我传递方法VALUE_A,我希望它返回RESULT_A,如果我传递它VALUE_B,我希望它返回RESULT_B。所以这是一段代码摘录:classIsNonEmptyextendsArgumentMatcher{publicbooleanmatches(Objectget){//Forsomereason,thismethodiscalledwhenIassigntheIsEmptymatchertoMockHtable.get()//Whenthishappens,thevalueofthegetargumentisnull,sothi

java - 尝试使用 mockito 和 powermock 模拟私有(private)方法时获取 java.lang.NullPointerException

我正在尝试使用mockito/powermock模拟私有(private)方法。我得到NullpointerException我尝试做的简单示例是:实际类(class)importcom.siriusforce.plugin.common.PluginSystem;importcom.wellsfargo.core.business.service.dp.fulfillment.MockitoBusinessService;publicclassMockitoBusinessOperationImplimplementsMockitoBusinessOperation{privateM

java - Mockito returnsFirstArg() 使用

我已经开始使用MockitoAdditionalAnswers#returnsFirstArg,这很棒:when(myMock.myFunction(anyString())).then(returnsFirstArg());但我想知道是否有一种简单的方法来提取输入参数以便在构造函数中使用,例如:when(myMock.myFunction(anyString())).thenReturn(newMyObject((String)returnsFirstArg()));(这显然行不通...) 最佳答案 恕我直言,最简单(唯一?)的方

java - 在 Mockito 中捕获一个参数

我正在测试某个类。此类在内部实例化一个“GetMethod”对象,该对象传递给“HttpClient”对象,该对象被注入(inject)到测试类中。我正在模拟“HttpClient”类,但我也需要修改“GetMethod”类的一个方法的行为。我正在玩ArgumentCaptor,但我似乎无法在“when”调用中获取实例化对象。例子:HttpClientmockHttpClient=mock(HttpClient.class);ArgumentCaptorgetMethod=ArgumentCaptor.forClass(GetMethod.class);when(mockHttpCli

java - 将泛型与 Mockito 匹配

我正在尝试模拟SpringRest的restTemplate.exchange方法。在同一测试中,我有多个调用,仅返回类型不同。这是我创建的模拟方法首先//OriginalmethodrestTemplate.exchange(UrlMap.SEARCH+'?'+searchDocsForm.toQueryParams(),HttpMethod.GET,null,newParameterizedTypeReference>(){})//Mockwhen(restTemplate.exchange(any(String.class),any(HttpMethod.class),any()

java - 如何通过 Mockito 对被测类的私有(private)方法进行 stub

假设我们有一个名为SomeClass的java类publicclassSomeClass{privatebooleanisMethod(){returnfalse;}publicvoidsendRequest(Stringjson,Stringtext){intmessageId;if(isMethod()){messageId=getMessageId(json);sendMessage(messageId,text);}else{thrownewIllegalArgumentException();}}privatevoidsendMessage(intmessageId,Stri

java - Mockito 模拟响应类

当我尝试模拟javax.ws.rs.coreResponse时,我收到一条错误消息:UnabletocreateaJAX-RSruntimeDelegate为什么会这样?Responseresponse=Mockito.mock(Response.class);但是当我尝试模拟HttpServletResponse时,这没有问题!HttpServletResponseresponse1=Mockito.mock(HttpServletResponse.class); 最佳答案 你可以尝试像这样的假响应:ResponseBuilder

java - 为什么 Mockito @InjectMocks 可能是要避免的事情?

为什么@InjectMocks可能是这种测试要避免的事情。@RunWith(MockitoJUnitRunner.class)publicclassMyClassTest{@MockprivateBarbar;@InjectMocksprivateFoofoo;//createdbyMockito@TestpublicvoidshouldCallMethod(){//whenfoo.myMethod();//then...}}Foo.javapublicclassFoo{privatefinalBarbar;publicFoo(Barbar){this.bar=bar;}...我在对这

java - 如何在 tycho 中引用 mockito?

我目前正在尝试让tycho完成我的构建(约30个包)。我在使用Mockito时遇到了一些令人困惑的问题在我的单元测试中。我创建了一个eclipse-test-plugin作为测试包的片段项目。由于tycho应该使用list解析所需的包,因此我从pom.xml中删除了对mockito的依赖。然后,当我尝试将mockito添加到list中所需的bundle时,未列出mockito。我找到了thispost并创建了一个指向eclipseindigo的目标平台。我包括了平台细节,所以我不需要eclipsedelta包。然后第一件奇怪的事情发生了。Eclipse告诉我有一些无法满足的依赖关系,当

java - Mockito 提示错误的论点

我们尝试使用Mockito验证Action的行为。测试代码如下所示finalType1mock=mock(Type1.class);newSomeAction(mock).actionPerformed(null);verify(mock).someMethod();方法actionPerformed仅包含对Type1的构造函数中提供的对象调用someMethod。然而Mockito提示预期的方法调用没有发生,而是发生了不同的方法调用。但是Mockito打印的两个调用的String表示是完全一样的!任何解释发生了什么?更新:来自Mockito的错误消息Argument(s)aredif