草庐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 - 模拟网络服务

我们有两个组件:企业应用程序X和Web服务Y我们想制作我们的(自动化)测试工具来测试应用程序X(与Y交互),并且我们没有可用的Web服务Y。注意事项:测试工具将是桌面应用程序。我们不想使用其他外部工具,例如SoapUI-用于测试(因为我们希望通过运行一个应用程序来自动化测试)。问题是:我们如何在我们的测试桌面应用程序中模拟Web服务Y?通过Socket编程或任何其他方法/库是否容易模拟它?提前致谢 最佳答案 我在Java6中找到了解决方案web-services-without-ee-containers谢谢

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 - 如何模拟私有(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

java - 如何使用 JMockit 模拟 Spring 注入(inject)类

我的代码:classAextendsX{@AutowiredBb;@Overridemethod(){//dosomethingb.callMethodInB;//dosomething}}classBextendsX{@AutowiredCc;@Overridemethod(){//dosomethingc.callMethodInC;//dosomething}}我需要在A中测试method()。那么如何模拟B。我正在使用Junit4和Jmockit。 最佳答案 尝试这样的事情:importorg.junit.*;importm

java - 使用 Mockito 模块化地 stub 连续方法调用

我正在尝试使用Mockito来模拟“Reader”类型的类。想想一个数据流读取器,它有读取各种数据类型的方法,并在每次读取后推进内部指针。publicinterfaceReader{intreadInt();shortreadShort();}被测类从数据流中读取各种数据结构。例如,publicclassSomethings{publicListsomethings;publicSomethings(Readerreader){somethings=newList();intcount=reader.readInt();for(inti=0;i最后,我有我的测试:publicclass

java - 如何模拟对象构造?

有没有办法在Java中使用JMock模拟对象构造?例如,如果我有这样的方法:publicObjectcreateObject(StringobjectType){if(objectType.equals("Integer"){returnnewInteger();}elseif(objectType.equals("String"){returnnewString();}}...有没有办法在测试方法中模拟对象构造的期望?我希望能够期望某些构造函数被调用,而不是用额外的代码来检查类型(因为它并不总是像我的示例那样复杂和简单)。所以代替:assertTrue(a.createObject(

java - 为什么当我添加 "RunWith"注释时 Spring Autowire 停止工作?

一旦我添加了RunWith注释,即@RunWith(PowerMockRunner.class)SpringAutowire就不再工作了!classB{@AutowireSessionFactorysession;}@RunWith(PowerMockRunner.class)@PrepareForTest{SomeClass.class}classTesting{@TestmethodA(){//mehod}@TestmethodD(){}}现在,方法A调用类B,但由于RunWith(PowerMockRunner)注释,Autowiring无法正常工作。任何帮助将不胜感激!