2015-06-18 41 views
3

我正在爲我的項目在Java中執行功能測試。Missing PubNub回調

即使連接正常,PubNub在嘗試訂閱或發佈測試方法時仍未進行回調。

如果我嘗試從單獨的java客戶端發佈或訂閱頻道,回調效果很好。

公共類FunctionalTest {

private Logger logger = LoggerFactory.getLogger(FunctionalTest.class); 

@Test 
public void verifyCreateSuccess() throws JAXBException,IOException { 

    Pubnub pubnub = new Pubnub("publisher-key", "subscriber-key"); 

    Callback callback = new Callback() { 
     public void successCallback(String channel, Object response) { 
      logger.info("PUBLISHER::" + response.toString()); 
     } 
     public void errorCallback(String channel, PubnubError error) { 
      logger.info("PUBLISHER::" + error.toString()); 
     } 
    }; 

    try { 
     pubnub.publish("foo-test",new JSONObject().put("test", 1),callback); 
    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 

} 

}

+1

請用您的子密鑰發送此郵件至[email protected],我們將回復有關此帖子的任何相關信息。 –

回答

1

使用PubNub內Java單元測試

JUnit測試都完成Pubnub調用完成之前。在其中一個測試案例中進行60秒的睡眠,看看你是否獲得了發佈(並非60秒,只是想確保你暫停足夠的時間)。

當您調用發佈時,該方法立即返回,但工作排隊,這就是爲什麼我們使用回調,測試退出,pubnub對象超出範圍,回調不會觸發。

這確實不是一個PubNub問題,就像試圖用一個像PubNub這樣的異步框架的單元測試框架編寫功能測試。