测试 DDS reader 接收消息以进行 java 单元测试
Testing DDS reader receiving message for java unit test
我有一个单元测试,我可以在其中测试当前发送 DDS
消息。但是,我 也 想要实现测试消息 reader 的能力。
问题是,由于用于创建 DDS reader 和编写器的程序设置。如果我尝试制作我需要的 reader,它们已经具有与作者相同的 topic
,因此抛出异常。
有没有人想出一种方法来模拟将 DDS 消息发送到 reader,就好像它们来自 DDS 编写器一样?在一台计算机内,不要在网络上使用单独的计算机。
您可以在 DomainParticipant
上使用 lookup_topicdescription()
来获取对先前创建的 Topic
的引用(如果存在)。在伪代码中,你可以做类似
的事情
use lookup_topicdescription() to see if topic exists
if topic does not exist
use create_topic() to create the topic
如果您的应用程序在多线程中执行此操作,那么您将必须获取并释放此代码周围的锁。
我有一个单元测试,我可以在其中测试当前发送 DDS
消息。但是,我 也 想要实现测试消息 reader 的能力。
问题是,由于用于创建 DDS reader 和编写器的程序设置。如果我尝试制作我需要的 reader,它们已经具有与作者相同的 topic
,因此抛出异常。
有没有人想出一种方法来模拟将 DDS 消息发送到 reader,就好像它们来自 DDS 编写器一样?在一台计算机内,不要在网络上使用单独的计算机。
您可以在 DomainParticipant
上使用 lookup_topicdescription()
来获取对先前创建的 Topic
的引用(如果存在)。在伪代码中,你可以做类似
use lookup_topicdescription() to see if topic exists
if topic does not exist
use create_topic() to create the topic
如果您的应用程序在多线程中执行此操作,那么您将必须获取并释放此代码周围的锁。