0
실제로 큐에서 읽고 튜플로 메시지를 내 보내는 Apache Storm 스파우트를 단위 테스트하는 작업에 어려움을 겪고 있습니다. 임베디드 큐를 사용하고 큐에 메시지를 넣고 내 스파우트에서 메시지를 내보내려고합니다. 누구든지 그 목적을 달성하는 데 도움이 될 수 있습니까?Storm에서 스파우트를 테스트하는 방법
실제로 큐에서 읽고 튜플로 메시지를 내 보내는 Apache Storm 스파우트를 단위 테스트하는 작업에 어려움을 겪고 있습니다. 임베디드 큐를 사용하고 큐에 메시지를 넣고 내 스파우트에서 메시지를 내보내려고합니다. 누구든지 그 목적을 달성하는 데 도움이 될 수 있습니까?Storm에서 스파우트를 테스트하는 방법
여기에는 몇 가지 방법이 있지만 여기에 mockito 및 testng (\ src \ test \ java \ com \ example \ storm \ spout \ DummySpoutTest.java)을 사용하는 간단한 테스트의 예가 나와 있습니다.
package com.example.storm.spout;
import static org.mockito.Matchers.anyList;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import org.testng.annotations.Test;
import backtype.storm.spout.SpoutOutputCollector;
import com.example.storm.spout.DummySpout;
public class DummySpoutTest {
@SuppressWarnings("unchecked")
@Test
public void shouldCreateDummyMessage() {
// given
DummySpout spout = new DummySpout();
SpoutOutputCollector collector = mock(SpoutOutputCollector.class);
spout.open(null, null, collector);
// when
spout.nextTuple();
// then
verify(collector).emit(anyList());
}
}