gpt4 book ai didi

java - 创建一个 backtype.storm.tuple.Tuple 用于测试目的?

转载 作者:搜寻专家 更新时间:2023-10-31 19:56:22 27 4
gpt4 key购买 nike

我是 Storm 的新手并且我正在尝试找出如何编写一个 bolt 测试来测试子类 BaseRichBolt 中的 execute(Tuple tuple) 方法。

问题是 Tuple 似乎是不可变的,我没有看到任何方法或构建器来创建新的 Tuple。如何创建自己的元组,或者如何使用测试输入测试 bolt ?

我实际上使用的是 Scala,而不是 Java,但答案应该很容易翻译。

最佳答案

模拟 Tuple 对象是来自 storm-starter project 的一个很好的解决方案.很简单:

package storm.starter.tools;

import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import backtype.storm.Constants;
import backtype.storm.tuple.Tuple;

public final class MockTupleHelpers {

private MockTupleHelpers() {
}

public static Tuple mockTickTuple() {
return mockTuple(Constants.SYSTEM_COMPONENT_ID, Constants.SYSTEM_TICK_STREAM_ID);
}

public static Tuple mockTuple(String componentId, String streamId) {
Tuple tuple = mock(Tuple.class);
when(tuple.getSourceComponent()).thenReturn(componentId);
when(tuple.getSourceStreamId()).thenReturn(streamId);
return tuple;
}
}

关于java - 创建一个 backtype.storm.tuple.Tuple 用于测试目的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15650886/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com