2017-04-02 1 views
0

Je suis aux prises avec une tâche pour tester mon jet Apache Storm qui lit réellement à partir d'une file d'attente et émet un message sous la forme d'un tuple. Je veux utiliser la file d'attente intégrée, mettre un message sur la file d'attente et actif ce message est émis par mon bec. Quelqu'un pourrait-il aider à quoi utiliser pour accomplir cela?Comment faire pour tester les becs dans la tempête

Répondre

0

Il y a probablement une tonne de façons de faire cela mais voici un exemple de test simple utilisant mockito et testng (\ src \ test \ java \ com \ exemple \ 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()); 
    } 

}