我正在尝试easyMock测试几个类/接口方法。方法,试图捕获参数,但得到一个或另一个错误。如果我只记录了一个期望值,它甚至不会捕获参数管道中的任何内容,如果我使用以下方法,我会得到如下错误代码。
@Test
public void testFireChannelInitializer() throws Exception
{
expect(c.pipeline()).andReturn(pipeline).times(1);
channelListener.fireChannelInitializer(EasyMock.capture(pipe), serverHandler);
EasyMock.replay(c, pipeline, channelListener);
initializer.initChannel(c);
verifyAll();
assertEquals(4, pipe.getValues().size());
assertTrue(pipe.getValues().get(0) instanceof LoggingHandler);
assertTrue(pipe.getValues().get(0) instanceof ObjectEncoder);
assertTrue(pipe.getValues().get(0) instanceof ObjectDecoder);
assertTrue(pipe.getValues().get(0) instanceof ServerHandler);
}
结果是错误的
testFireChannelInitializer(com.obolus.generic.impl.DefaultChannelListenerTest)运行时间:3.812秒
你知道怎么回事吗?或者怎么用easy mock?没有好的文档或示例。
easymock网站有一个用户指南,但他们最近重新编辑了自己的网站,指南不像以前那么完整。
我认为你的问题可能是你必须做一个捕获和一个参数匹配。
从用户指南中:
匹配任何值,但在Capture参数中捕获它以供以后访问。您可以执行和(一些匹配器(...)、捕获(c))从对方法的特定调用中捕获参数。您还可以指定Capture Type,告诉给定的Capture应保留第一个、最后一个、全部或没有捕获的值。
所以你可能需要做一个和(捕获(...),参数匹配)
EasyMock还有一个恼人的API“特性”,如果在方法调用中使用一个参数匹配器,那么所有参数也必须包装在匹配器中,即使它是eq()
。我想这就是你的特例所抱怨的。所以我认为这是你的两个问题。
我不确定你的方法签名是什么样子的,所以我假设它是
void fireChannelInitializer(Object, ServerHandler);
使用静态导入导入EasyMock后。*
channelListener.fireChannelInitializer(
and(capture(pipe), isA(Object.class)), //captures the argument to `pipe` Capture object
eq(serverHandler));
让我们从一个简单的模拟开始学习。Qt Quick使用简单的粒子渲染非常简单。下面是我们需要的: 绑定所有元素到一个模拟的粒子系统(ParticleSystem)。 一个向系统发射粒子的发射器(Emitter)。 一个ParticlePainter派生元素,用来实现粒子的可视化。 import QtQuick 2.0 import QtQuick.Particles 2.0 Rectangle {
我在Java有一个简单的动画,由一个轮子在窗口上移动组成。它只是一个普通的圆圈,从屏幕的左边开始,进入并继续到右边,直到它离开屏幕。然后它循环并重复这个过程。 是一个包含轮子位置的变量。它可以在-(轮子宽度)和窗口大小轮子宽度之间。 我想通过在这个轮子里画一个圆来模拟旋转,这个圆绕着这个圆旋转,就好像它是连着的一样。 想象一下,现实生活中的自行车车轮上有一面红旗。当车轮旋转时,红旗将出现在车轮的边
我试图模拟Scala单例对象。特别是,我需要模拟对象在服务组件(测试中的类)中使用。使用Mockito这是不可能的,测试执行会以以下方式失败: 在这里阅读,Scalamock似乎允许这样做: 要模拟独立的单例对象,请使用。 我的服务组件是这样的: 我的build.sbt有所有这些依赖关系: 但是我找不到这个: 也许这也可以使用EasyMock和PowerMock实现,但我找不到任何Scala示例代
给定一个Kotlin单例对象和一个调用它的方法的乐趣
本文向大家介绍Java 模拟cookie登陆简单操作示例,包括了Java 模拟cookie登陆简单操作示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java 模拟cookie登陆简单操作。分享给大家供大家参考,具体如下: 最近在做将禅道上的功能接口做到手机端,在做登陆的时候,看了禅道的源码,是由cookie来登陆,所以要做一个模拟cookie登陆的接口,将拿到的cookie放到每次接
问题内容: 我刚开始使用Node,现在正在编写一些单元测试。对于前几个函数,我可以正常运行,但是现在我碰到了一个包含其中的函数。我的函数的简化版本如下所示: 我尝试使用基本节点断言测试库进行测试: 由于执行此操作的时间(以及结果)总是不同的,因此它将始终失败。 在Python中,我可以设置模拟类和对象。有没有一种方法可以在Node中解决此问题而无需将moment.utc()作为函数的参数? 问题答