测试DDS阅读器接收消息以进行java单元测试

时间:2015-06-01 16:50:15

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

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

问题在于,由于创建DDS读取器和编写器的程序设置。如果我尝试创建我需要的读者,他们已经和作者一样topic,因此会抛出异常。

有没有人想出一种方法来模拟向阅读器发送DDS消息,好像它们来自DDS编写器?在一台计算机内,并且不使用网络上的单独计算机。

1 个答案:

答案 0 :(得分: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

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