我有一个单元测试,我可以在其中测试当前发送DDS
个消息。但是,我也想要实现测试消息阅读器的能力。
问题在于,由于创建DDS读取器和编写器的程序设置。如果我尝试创建我需要的读者,他们已经和作者一样topic
,因此会抛出异常。
有没有人想出一种方法来模拟向阅读器发送DDS消息,好像它们来自DDS编写器?在一台计算机内,并且不使用网络上的单独计算机。
答案 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
如果您的应用程序在多个线程中执行此操作,那么您将不得不抓住并释放锁定此代码。