草庐IT

java - 如何使用 Mockito 或任何其他相关的 java 框架模拟父类(super class)方法

我的场景如下classSuperClass{publicvoidrun(){System.out.println("IamrunninginSuperclass");}}classChildClassextendsSuperClass{publicvoidchildRunner(){System.out.println("Step1");System.out.println("Step2");**run();**System.out.println("LastStep");}}现在我想测试ChildClass的childRunner()方法,因为这个方法在内部调用父类(supercla

java - 模拟 getClass()

在Java中,我想为方法编写测试(简化片段):publicclassMyClass{privatestaticfinalSetSOME_SET=newHashSet(Arrays.asList(Foo.class,Bar.class));publicbooleanisValid(Classclazz){returnSOME_SET.contains(clazz);}}下面测试的问题importstaticorg.mockito.Mockito.when;importorg.mockito.Mockito;publicclassMyClassTest{@TestpublicvoidisV

java - Spring MockMvc - 如何测试 REST Controller 的删除请求?

我需要测试我的Controller方法,包括删除方法。这是部分Controller代码:@RestController@RequestMapping("/api/foo")publicclassFooController{@AutowiredprivateFooServicefooService;//othermethodswhichworksfineintests@RequestMapping(path="/{id}",method=RequestMethod.DELETE)publicvoiddelete(@PathVariableLongid){fooService.delete

java - 将 Mockito 用于 HTTP 客户端

我有一个stub的JSON对象,但需要使用Mockito模拟以下内容:HttpResponseresponse=defaultHttpClient.execute(postRequest);BufferedReaderrd=newBufferedReader(newInputStreamReader(response.getEntity().getContent()));StringBuilderresult=newStringBuilder();while((line=rd.readLine())!=null){result.append(line);}JSONObjectjsonR

java - Mockito,验证函数被调用 0 次

我正在使用Mockito写我的测试用例。我有一个简单的类,其中包含一个我有兴趣测试的函数countPerson(boolean):publicclassSchool{//Schoolisasingletonclass.publicvoidcountPerson(booleanincludeTeacher){if(includeTeacher){countIncludeTeacher();return;}countOnlyStudents();}publicvoidcountIncludeTeacher(){...}publicvoidcountOnlyStudents(){...}}在

java - 是否不需要验证与 Mockito 中模拟的方法相同的方法?

我经常看到验证的方法与Mockito中模拟的方法相同(如下例)。在这些情况下调用Mockito.verify()有什么额外的好处吗?//mockmethodFooServicefs=mock(FooService.class);when(fs.getFoo()).thenReturn("foo");//methodundertestfs.doSomething();//verifymethodverify(fs).getFoo();如果未调用fs.getFoo(),该方法将失败。那么为什么要调用verify呢?如果您需要在验证中使用ArgumentCaptor断言参数,我看到了好处;除

java - 如何使用 Mockito 对链式方法调用进行单元测试

我正在开发一个使用JIRA'sRESTClient的J2EE项目.此客户端返回一个Jiraissue目的。Issue的部分字段类是key,self,id,summary等等等等self这里的字段基本上是一个URI。例如http://jira.company.com/rest/api/2.0/issue/12345我有一个用例,我必须从上面指定的URI检索主机。我可以通过类似issue.getSelf().getHost()的方式来做到这一点.issue.getSelf()返回类型为“URI”的对象并获取主机,我可以简单地使用getHost()URI提供的方法在String中返回主机ur

java - 使用 Mockito,我如何验证我的 lambda 表达式被调用了?

我正在尝试测试采用Consumer函数的方法,并且我想使用Mockito验证我的lambda表达式被调用了一次。我现在使用的是在最终的单元素数组上使用标志的笨拙方法:finalboolean[]handlerExecuted={false};instance.conditionalRun(item->{handlerExecuted[0]=true;item.foo();});Assert.assertTrue("Handlershouldbeexecuted.",handlerExecuted[0]);似乎应该有更好的方法(也许使用Mockitospy)来验证此lambda表达式是否

java - 如何模拟私有(private)内部类

我有一个spring应用程序,我想在像这样的Controller上创建一个单一测试。问题是Wrapper类是private内部类,所以在测试中不理解Wrapper。是否可以在不更改Controller类的情况下使用Mockito模拟它。我可以使用prepareData()来获取对象的实例,但我不知道这是否可用于模拟该对象。谢谢@ControllerpublicclassController{privateclassWrapper{privateObject1field1;privateObject2field2;privateObject1method1(){...}privateOb

java - 如何使用 mockito 测试匿名类中的方法调用

@Transactional(propagation=Propagation.REQUIRED)publicvoidexe(){try{ReservereserveInfo=newTransactionTemplate.execute(newTransactionCallback(){@OverridepublicReservedoInTransaction(TransactionStatusstatus){returnreserveService.callReserve(reserveDetails);}});if(reserveInfo!=null&&reserveInfo.get