我在这里遵循指南,我成功地在我的beanendpoint上配置了一个生产者,如下所示:
@Produce( uri = "activemq:foo" )
private MyListener myListener;
MyListener
是:
public interface MyListener {
@InOnly
public void send( String message );
}
还有我的豆子:
public class MyBeanEndpoint {
@Produce( uri = "activemq:foo" )
private MyListener myListener;
@Handler
public void doSomething( final Object body ) {
...
}
public void setMyListener( final MyListener myListener ) {
this.myListener = myListener;
}
现在,我如何测试这个?我的意思是:我的测试扩展了CamelTestSupport,我用
@Override
public RouteBuilder createRouteBuilder() {
return new RouteBuilder() { ... }
也就是说:我复制了camel上下文,但没有配置spring上下文,我希望(如果可能的话)避免实例化它。
如何模拟生产者或使Camel实例化并将此bean注入我的beanendpoint?使用Apache Camel功能(如CamelTestSupport
和类似实用程序)测试这种情况的最佳方法是什么?
我的参考测试是:
public class Test extends CamelTestSupport {
private static BeanEndpoint beanEndpoint
@BeforeClass
public static void init() {
beanEndpoint.setActivemqMyListener( ??? );
}
@Override
public CamelContext createCamelContext() {
context = new DefaultCamelContext();
context.addComponent( "activemq", new SedaComponent() );
return context;
}
@Override
public RouteBuilder createRouteBuilder() {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
from( "activemq:foo" )
.to( "mock:out" );
}
};
}
@Test
public void testFooQueue() throws Exception {}
让Camel创建bean,然后为您配置各种依赖注入等等。
private static BeanEndpoint beanEndpoint
...
beanEndpoint = camelContext.getInjector().newInstance(BeanEndpoint.class);
我的服务等级代码如下: 我的测试课程如下: 在运行测试时,我在给出Mockito的那一行得到了NullPointerException。何时返回条件。我尝试了很多组合,但它仍然提供NPE。我甚至连方法调用都做不到。你能告诉我哪里出了问题吗?
问题内容: 我有一个POJO和一个(当前尚未构建)的类,它将返回它的列表。我想自动生成将POJO作为地图进行访问所需的代码。这是一个好主意吗,是否可以自动执行,并且我需要为要处理的每个POJO手动执行此操作吗? 谢谢,安迪 问题答案: 您可以为此使用Commons BeanUtils 。 更新 :由于由于Android中某些明显的库依赖问题而导致该选项不可行,因此这是一个基本的启动示例,您几乎不需
上面还有第二个问题。当我在Expects块中定义mock类时(如上),似乎只调用了构造函数,而不是,因此没有正确初始化对象。我通过将它移到方法中并在那里实例化该类来解决这个问题。看起来是这样的: 因此,这似乎得到了要调用的正确构造函数,但似乎还在调用。有什么见解吗?
有没有办法确定Kafka制作人为一组特定消息创建的批次数?例如,如果我在一个循环中发送10K条消息,有没有办法检查发送了多少批?我将“batch.size”设置为一个高值,我的期望是消息将被缓冲,并且在我的消费者中看到消息时会有延迟。然而,这似乎是打印几乎立即在我的消费者计划。 批处理时的默认值。尺寸是16384。这是字节数吗?
所以我想做一些事情 但我得到了空异常
在安装到AEM 5.6.1实例之前,我正在使用maven构建和测试我的代码。我已经编写了单元测试,这些测试使用wcm的实现从aem模拟中获益。io和其他需要使用powermockito模拟静态方法的单元测试。 以下是我对aem上下文、sling Mock和powermock的maven依赖关系。 在我的课堂上,我正在为aem上下文设置规则,并准备一些用于模拟的静态类: 当我通过命令行运行mvn测试