【问题标题】:Testing DDS reader receiving message for java unit test测试 DDS 阅读器接收 java 单元测试的消息
【发布时间】:2015-06-01 16:50:15
【问题描述】:

我有一个单元测试,我可以在其中测试当前发送DDS 消息。但是,我想实现测试消息阅读器的能力。

问题在于,用于创建 DDS 读取器和写入器的程序设置。如果我试图让读者成为我需要的读者,他们已经拥有与作者相同的topic,因此会引发异常。

有没有人因此想出一种方法来模拟向阅读器发送 DDS 消息,就好像它们来自 DDS 编写器一样?在一台计算机内,无需使用网络上的单独计算机来执行此操作。

【问题讨论】:

  • 您使用哪种 DDS 实现?究竟是哪个调用引发了异常?
  • RTI 并创建主题,因为我的实现方式已经创建了主题。

标签: java unit-testing publish-subscribe data-distribution-service


【解决方案1】:

您可以在DomainParticipant 上使用lookup_topicdescription() 来获取对先前创建的Topic(如果存在)的引用。在伪代码中,您可以执行类似的操作

use lookup_topicdescription() to see if topic exists
if topic does not exist
  use create_topic() to create the topic

如果您的应用程序在多个线程中执行此操作,那么您将不得不抓住并释放围绕此代码的锁。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-10
    • 2017-05-31
    • 2020-06-17
    • 2014-03-21
    • 1970-01-01
    • 2011-04-12
    • 1970-01-01
    相关资源
    最近更新 更多