2017-04-02 1 views
0

실제로 큐에서 읽고 튜플로 메시지를 내 보내는 Apache Storm 스파우트를 단위 테스트하는 작업에 어려움을 겪고 있습니다. 임베디드 큐를 사용하고 큐에 메시지를 넣고 내 스파우트에서 메시지를 내보내려고합니다. 누구든지 그 목적을 달성하는 데 도움이 될 수 있습니까?Storm에서 스파우트를 테스트하는 방법

답변

0

여기에는 몇 가지 방법이 있지만 여기에 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()); 
    } 

} 
관련 문제