当前位置: 首页 > 知识库问答 >
问题:

在activemq上调试单元测试时获取nullpointer异常

廖招
2023-03-14
@Test
    public void receiveMessage() throws Exception {
            MessageConsumer consumer = null;
            ConnectionFactory connectionFactory = null;
        Connection connection = null;
        Session session = null;
        Destination destination = null;
            try {
                   connectionFactory = new ActiveMQConnectionFactory(
                        "tcp://localhost:61616");
                 connection = connectionFactory.createConnection("username","pwd");
                 connection.start();
                 session = connection.createSession(true,
                        Session.AUTO_ACKNOWLEDGE);

                 destination = session
                                    .createQueue("myQueue");
                    logger.info("Starting consumer");
                    consumer = session
                                    .createConsumer(destination);

                    Message m = consumer.receive(); 
                    logger.info("Received message:" + m); 
            }


            } catch (Exception e) {
                    logger.error("", e);
            } finally {
                    consumer.close();
                    session.close();
                    connection.stop();
                    connection.close();
            }
    }

共有1个答案

壤驷瑾瑜
2023-03-14

在单元测试中,不应该使用实际的连接,即您试图在单元测试用例中连接到BrokerURL,这不是单元测试的目的。

在这种情况下,需要使用EasyMock+PowerMockMockito等库模拟外部连接

关于空指针异常,您的代理启动了吗?和用户名,密码正确,请检查这些

 类似资料:
  • 我正在为我的应用程序创建一个Spring BootAPI。我试图使用mockito对我的服务实现进行单元测试,以模拟出细节。该服务将向数据库添加一个新的构建实体。下面是服务实现和测试实现。楼宇服务: BuildingServiceImpl_UT

  • 问题 你想写个测试用例来准确的判断某个异常是否被抛出。 解决方案 对于异常的测试可使用 assertRaises() 方法。 例如,如果你想测试某个函数抛出了 ValueError 异常,像下面这样写: import unittest # A simple function to illustrate def parse_int(s): return int(s) class Test

  • 我需要在我的应用程序中进行单元测试JMSXGroupID。有人能告诉我是否有示例文章或参考文献来实现这一点吗?我试图在ActiveMQ门户中查看参考文献,但看起来下面的Hudson链接坏了。我正在使用Spring JMS进行编程。 http://activemq.apache.org/junit-reports.html

  • 我在pycharm中调试单元测试时遇到问题。我可以使用我的配置很好地运行它们,但当我运行调试器时,会得到以下错误输出: 我的目录结构是: 我的unittest配置是: 看起来像: 做什么?如何确保在调试期间找到它?问题实际上与正在查找的文件/目录无关吗?

  • Android Studio 1.1 添加了单元测试支持,详细请看 Unit testing support。本章的其余部分描述的是 “instrumentation tests”。利用 Instrumentation 测试框架可以构建独立的测试 APK 并运行在真实设备(或模拟器)中进行测试。

  • 英文原文:http://emberjs.com/guides/testing/unit/ 单元测试用于测试代码的一个小片段,确保其功能正常。与集成测试不同,单元测试被限定在一个范围内,并且不需要Ember应用运行。 全局 vs 模块 过去如果没有作为一个全局变量加载整个Ember应用,要对应用进行测试非常困难。通过使用模块(CommonJS,AMD等)来编写应用,可以只加载被测试的部分,而不用将其