Tag: easymock

使用返回整数列表的power mock测试私有方法

我有一个私有方法,它取一个整数值列表返回一个整数值列表。 我怎样才能使用power mock来测试它。 我是powermock的新手。我可以用简单的模拟进行测试..? 怎么样..

在测试类中模拟私有静态final变量

我在要测试的类中有一些私有的静态final字段。 如下 public class ClassToTest{ …. private static final Myclass myclass = MyClassFactory.getMyClass(type.firstType); …. } 该类型是MyClassFactory中的枚举。 那个工厂做的是根据传递和返回的类型初始化对象。 我的问题是powermock是否支持这一点,如果是的话,该如何做到这一点。

如何使用EasyMock测试void方法

我已经看到了一些关于这个的问题,但我似乎无法理解我的特定问题的任何答案。 我有一个模拟对象,让我们调用“object1”,我发送给一些方法进行测试,让我们调用testMethod()。 所以我最终打电话了 testMethod(object1); 用于检测。 现在在这个testMethod的某个地方,会有一个调用方法的部分 object1.toggleDisplay(); 这是一种无效方法。 如果方法是这样的 object1.getDisplay() 实际上它返回的地方,我通常会这样做 EasyMock.expect(object1.getDisplay()).andReturn(whatever); 但是,这是一个无效方法,我想测试一下这个确实被调用了一段时间。 最简单的方法是什么? 谢谢

EasyMock void方法

我正在尝试使用EasyMock来模拟一些数据库接口,以便我可以通过包装方法测试业务逻辑。 在我的测试设置中使用以下方法返回的方法一直很顺利。 DBMapper dbmapper = EasyMock.createMock(DBMapper.class); userService.setDBMapper(dbmapper); 然后在我的实际测试中我跑 EasyMock.expect(dbmapper.getUser(userId1)).andReturn(mockUser1); EasyMock.replay(dbmapper); userService.getUser(userId1); 然后,此服务连接到dbmapper并返回对象(使用setter方法注入映射器) 这些类型的模拟似乎工作正常。 但是当我尝试运行测试时 userService.addUser(newUser1); 此方法调用void方法。 dbmapper.createUser(newUser); 我正在嘲笑这个方法。 我尝试了以下内容 EasyMock.expectLastCall(); EasyMock.replay(dbMapper); userService.addUser(newUser1); 因为其他一些post/问题等似乎暗示我得到一个IlligalStateException: no last call on a mock available 有人能指出我正确的方向吗? 提前谢谢了

GWT模拟框架的综合优势/缺点

我有兴趣为我的GWT应用程序使用正确的模拟框架。 据我所知,Mockito,EasyMock和jMock是Java最受欢迎的一些。 有人可以列出他们最熟悉的模拟框架的优缺点,因为它与GWT有关,可以帮助GWT测试像我这样的人吗? 提前致谢。

PowerMock的expectNew()并没有按预期模拟构造函数

我正在尝试学习各种模拟库的细节, PowerMock (特别是EasyMock扩展)是下一个列表。 我试图模拟一个构造函数,当我尝试复制它们时,提供的示例没有相同的响应。 据我所知,它从不嘲笑构造函数,只是继续进行,就像它是正常的一样。 这是测试类: @RunWith(PowerMockRunner.class) @PrepareForTest({Writer.class}) public class FaultInjectionSituationTest { @Test public void testActionFail() throws Exception { FaultInjectionSituation fis = new FaultInjectionSituation(); PowerMock.expectNew(Writer.class, “test”) .andThrow(new IOException(“thrown from mock”)); PowerMock.replay(Writer.class); System.out.println(fis.action()); PowerMock.verify(Writer.class); } } 我尝试用EasyMock.isA(String.class)替换“test”,但它产生了相同的结果。 这是FaultInjectionSituation: public class FaultInjectionSituation { public String action(){ Writer w; try { w = new Writer(“test”); } catch (IOException […]

获取EasyMock模拟对象以抛出exception

我正在使用EasyMock为许多协作类编写unit testing。 其中一个类(称为Foo )打开与远程服务器的网络连接,并将该服务器的XML响应解析为其余类可以使用的内容。 目前,我的测试仅包括一切都很糟糕且远程服务器启动并运行并按预期返回XML的场景。 但是,如果我可以模拟Foo以便模拟在远程服务器关闭时会发生什么,或者存在导致Foo抛出IOException其他问题,我会更高兴。 我看过EasyMock API,我看不到任何看起来像是要求模拟抛出exception的方法。 对于我来说,进行基于Exception的测试对我来说并不是绝对必要的,但我很好奇是否可以使用EasyMock,而且我认为以这种方式测试Foo的公共合同会很有用。 以前有人用EasyMock做过这样的事吗? 参考 EasyMock API

使用Powermock时NoClassDefFoundError

我正在使用PowerMock测试运行器运行junit测试用例。 我正在使用以下命令行来执行它: java -cp .:junit-4.9b2.jar:easymock-3.0.jar:powermock-easymock-1.4.8-full.jar org.junit.runner.JUnitCore SampleTest 这样做时,我收到此错误: initializationError(SampleTest) java.lang.NoClassDefFoundError: org/junit/internal/runners/TestClassRunner … 我该如何解决?

自动assembly由EasyMock工厂方法生成的bean?

我有一个对我来说真的很奇怪的问题。 我有以下设置: 界面: package com.example; public interface SomeDependency { } 弹簧组件: package com.example; @Component public class SomeClass { } 带有由EasyMock生成的模拟bean的spring test配置: 并进行unit testing: @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(“/testconfig.xml”) public class SomeClassTest { @Autowired SomeClass someClass; @Autowired SomeDependency someDependency; @Test public void testSomeClass() throws Exception { assertNotNull(someClass); } @Test public void testSomeDependency() throws Exception { assertNotNull(someDependency); } } 项目编译并且测试通过没有任何问题,即SomeClass […]

如何使用JUnit,EasyMock或PowerMock模拟静态最终变量

我想模拟静态最终变量以及使用JUnit,EasyMock或PowerMock模拟i18n类。 我怎么做?