草庐IT

EasyMock

全部标签

java - EasyMock中的 ".andReturn(...).anyTimes()"和 ".andStubReturn(...)"有区别吗?

Thispost建议两者——两者之间存在差异(请参阅用户SnoopyMe的评论)并且两者可以互换使用。EasyMock文档没有提及任何区别。在实践上或语义上有什么区别吗?如果是这样,什么时候使用一个比另一个更合适?编辑:以下测试表明存在差异,至少在与严格模拟一起使用时:@TestpublicvoidtestTestMe(){Barbar=createStrictMock(Bar.class);expect(bar.doBar()).andReturn(1).anyTimes();expect(bar.doOtherBar()).andReturn(2).once();replay(ba

java - 你如何使用 spring 的注入(inject)来对 Controller 进行单元测试?

我想测试我的springmvcController。Controller有一个服务:@AutowiredUserServiceuserService我的用户服务依赖于(自动连接)我的UserDao和一些其他服务,如mongoDb等。现在我想在我的UserService中测试业务逻辑,但当然我想模拟来self的UserDao和Mongodb等的响应。如何正确设置我的单元测试?我可以重新使用包含我的所有bean等的spring容器的xml文件,还是创建一个新文件?(我假设我必须在这里涉及到spring容器)寻找这方面的一些指导,任何教程将不胜感激。更新我觉得奇怪的是,对于我的springC

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

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

Easymock返回零

我目前正在处理一些使用的测试用例EasyMock。我的示例代码看起来像这样:{dao=EasyMock.createNiceMock(Dao.class);initObj();EasyMock.replay(dao);//EasyMock.verify(dao);mapper=newMapper();mapper.setDao(dao);}@Testpublicvoidtestmapper(){mapper.map();}publicvoidinitObj(){Objo=newObj();o.setX(2);EasyMock.expect(dao.findObj(1)).andReturn(o

java - EasyMock.expect(...).times(...) 与多次使用 EasyMock.expect(...) 之间的区别?

这有什么区别:ResultSetset=EasyMock.createNiceMock(ResultSet.class);EasyMock.expect(set.getInt("col1")).andReturn(1);EasyMock.expect(set.wasNull()).andReturn(false);EasyMock.expect(set.getInt("col2")).andReturn(2);EasyMock.expect(set.wasNull()).andReturn(false);EasyMock.replay(set);assertEquals(1,set.g

java - 为类类型创建 Java Proxy 实例?

我有以下代码可用于为由InvocationHandler实现支持的接口(interface)类型创建Proxy实例,但是当我使用具体类类型时它不起作用,这是众所周知的并记录在Proxy.newProxyInstance中://NOTE:doesnotworkbecauseSomeConcreteClassisnotaninterfacetypefinalClassLoadermyClassLoader=SomeConcreteClass.getClassLoader();SomeConcreteClassmyProxy=(SomeConcreteClass)Proxy.newProxy

java - 有没有办法使用 EasyMock 部分模拟一个对象?

例如假设我有这门课:publicclassFooImplementsFooable{publicvoida(){//doessomestuffbar=b();//moarcoadz}publicBarb(){//blah}//...}我想测试Foo.a。我想模拟Foo.b,因为我正在单独测试该方法。我想象的是这样的:publicclassFooTestextendsTestCase{publicvoidtestA(){Fooablefoo=createPartialMock(Fooable.class,//likewithcreateMockFoo//classwherenon-moc

java - EasyMock:在 java 中模拟构造函数调用

我看过这个论坛上的类似问题,但没有一个能回答我的问题。这听起来很奇怪,但是否可以模拟出对您正在模拟的对象的构造函数调用。例子:classRealGuy{....publicvoidsomeMethod(Customercustomer){Customercustomer=newCustomer(145);}}classMyUnitTest(){publicCustomercustomerMock=createMock(Customer.class)publicvoidtest1(){//icaninjectthemockobject,butit'sstillcallingthecons

java - 如何编写单元测试来验证函数是否对其结果进行排序?

这个问题在这里已经有了答案:HowtotesttheorderingofelementsinaCollectioninJUnittest?(4个答案)关闭5年前。我有一个数据源,我可以从中请求居住在(任何)国家/地区的人员列表,以及一种从该数据源检索人员并按姓名字母顺序对他们进行排序的方法。我应该如何编写单元测试以确保我的方法的排序部分正常工作?这是我的SUT的样子:classPeopleStuff{publicIDatadata;publicListgetSortedPeopleForCountry(StringcountryName){Listpeople=data.getPeop

java - 多次捕获预期方法调用的参数(EasyMock)

我的测试中有以下行:CapturemyCapture=Capture.newInstance();expect(myMockedObject.myMethod(capture(myCapture)).andReturn(...).times(2);当模拟得到验证但myCapture.getValues().size()返回1时,此预期通过。我期待每个方法调用的捕获。如何捕获两个方法调用的参数? 最佳答案 有一个名为CaptureType的参数,用于确定捕获的内容。默认情况下,此参数设置为CaptureType.LAST,它仅捕获最后