草庐IT

EasyMock

全部标签

java - PowerMock ECLemma 覆盖问题

我们在JUnit中使用EasyMock和PowerMock。使用的覆盖工具是ECLEmma。使用EasyMock,它以绿色(如已覆盖)正确显示覆盖范围。但是,对于使用PowerMock进行单元测试的代码,覆盖率显示为红色(未覆盖)。在网上阅读过类似的问题。但是,只是想检查是否有解决方案。谢谢文卡特斯 最佳答案 是的,有一个解决方案:首先你必须添加这个maven依赖:org.powermockpowermock-module-junit4-rule-agent1.6.4test然后,不要使用这个注解@RunWith(PowerMock

java - 期望任何东西作为参数来模拟使用 EasyMock

使用EasyMock我希望能够说我期望在我的模拟上调用一个特定的方法,但我不关心用于调用模拟的参数。SomeInterfacemock=EasyMock.createMock(SomeInterface.class);mock.send(/*anything*/);replay(mock);/*Performactionsthatwilleventuallyinvokemock*/verify(mock);这可能吗?如何实现?另外,如果我想接受派生自特定基类的任何对象,我该如何指定? 最佳答案 接受任何对象作为参数:mock.sen

java - 期望任何东西作为参数来模拟使用 EasyMock

使用EasyMock我希望能够说我期望在我的模拟上调用一个特定的方法,但我不关心用于调用模拟的参数。SomeInterfacemock=EasyMock.createMock(SomeInterface.class);mock.send(/*anything*/);replay(mock);/*Performactionsthatwilleventuallyinvokemock*/verify(mock);这可能吗?如何实现?另外,如果我想接受派生自特定基类的任何对象,我该如何指定? 最佳答案 接受任何对象作为参数:mock.sen

java - 如何在easymock中模拟一个返回其参数之一的方法?

publicObjectdoSomething(Objecto);我想模拟的。它应该只返回它的参数。我试过了:CapturecopyCaptcher=newCapture();expect(mock.doSomething(capture(copyCaptcher))).andReturn(copyCatcher.getValue());但没有成功,我得到一个AssertionError作为java.lang.AssertionError:Nothingcaptureyet。有什么想法吗? 最佳答案 嗯,最简单的方法是在IAnswe

java - 如何在easymock中模拟一个返回其参数之一的方法?

publicObjectdoSomething(Objecto);我想模拟的。它应该只返回它的参数。我试过了:CapturecopyCaptcher=newCapture();expect(mock.doSomething(capture(copyCaptcher))).andReturn(copyCatcher.getValue());但没有成功,我得到一个AssertionError作为java.lang.AssertionError:Nothingcaptureyet。有什么想法吗? 最佳答案 嗯,最简单的方法是在IAnswe

java - 如何从 EasyMock.anyObject(List.class) 调用中删除警告

编译器无法停止提示这个调用:EasyMock.anyObject(List.class)我试图指定列表的类型EasyMock.anyObject(List.class)但这似乎不是一个选项(无论如何,这是愚蠢的,因为java会在编译期间删除类型)是否有一种干净的方式(@SuppressWarning不是一种干净的方式IMO)来删除此警告?谢谢 最佳答案 这是不可能的。我将其称为一般限制。遗憾的是,对于某些完全正常的用法(例如使用泛型类的类),并不总是可以删除警告。但是,使用EasyMock,您可以执行以下操作:EasyMock.>a

java - 如何从 EasyMock.anyObject(List.class) 调用中删除警告

编译器无法停止提示这个调用:EasyMock.anyObject(List.class)我试图指定列表的类型EasyMock.anyObject(List.class)但这似乎不是一个选项(无论如何,这是愚蠢的,因为java会在编译期间删除类型)是否有一种干净的方式(@SuppressWarning不是一种干净的方式IMO)来删除此警告?谢谢 最佳答案 这是不可能的。我将其称为一般限制。遗憾的是,对于某些完全正常的用法(例如使用泛型类的类),并不总是可以删除警告。但是,使用EasyMock,您可以执行以下操作:EasyMock.>a

java - Autowiring 由 EasyMock 工厂方法生成的 bean?

我有一个对我来说似乎很奇怪的问题。我有以下设置:一个接口(interface):packagecom.example;publicinterfaceSomeDependency{}一个Spring组件:packagecom.example;@ComponentpublicclassSomeClass{}带有由EasyMock生成的模拟bean的Spring测试配置:还有一个单元测试:@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration("/testconfig.xml")publicclassSomeClassTest

java - Autowiring 由 EasyMock 工厂方法生成的 bean?

我有一个对我来说似乎很奇怪的问题。我有以下设置:一个接口(interface):packagecom.example;publicinterfaceSomeDependency{}一个Spring组件:packagecom.example;@ComponentpublicclassSomeClass{}带有由EasyMock生成的模拟bean的Spring测试配置:还有一个单元测试:@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration("/testconfig.xml")publicclassSomeClassTest

spring - 使用 Junit 和 EasyMock 对具有 Autowiring 符号的类进行单元测试?

我正在尝试为一个有几个字段标记为@Autowired的类编写单元测试。鉴于Spring会自动解析这些字段的具体实现这一事实,我很难弄清楚如何在测试运行期间将我的Mock对象(通过EasyMock创建)作为依赖项插入。在类中使用@Autowired意味着该类中缺少setter。有没有办法让我插入我的模拟对象而不在类中创建额外的setter?这是我想要完成的一个示例:publicclassSomeClassUnderTestimplementsSomeOtherClass{@AutowiredprivateSomeTypesomeType;@AutowiredprivateSomeOthe