【问题标题】:Missing PubNub callback缺少 PubNub 回调
【发布时间】:2015-06-18 00:09:32
【问题描述】:

我正在用 java 为我的项目执行功能测试。

当我尝试在测试方法中订阅或发布时,即使连接正常,PubNub 也不会进行回调。

如果我尝试从单独的 java 客户端发布或订阅频道,则回调效果很好。

公共类功能测试{

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();
   }

}

}

【问题讨论】:

  • 请将您的子密钥与您的子密钥一起发布到 support@pubnub.com,我们将在此帖子上发回任何相关信息。

标签: java pubnub


【解决方案1】:

在 Java 单元测试中使用 PubNub

JUnit 测试在 Pubnub 调用完成之前完成。在其中一个测试用例中休眠 60 秒,看看你是否获得了发布(不是说它需要 60 秒,只是想确保你暂停足够的时间)。

当你调用 publish 方法会立即返回但工作会排队,这就是我们使用回调的原因,测试退出,pubnub 对象超出范围并且回调永远不会触发。

这确实不是 PubNub 问题,而是尝试使用 PubNub 等异步框架使用单元测试框架编写功能测试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-20
    • 2018-04-12
    • 2019-08-12
    相关资源
    最近更新 更多